demo, trying to be the best_
demo, trying to be the best_
大家都知道在開發網頁的時候因為 Server 的數量遠不及 Client 所以經常會使用到 Cache 技巧,不管是 OutCache 或是 RunTime Cache 都是降低 Server 負載的好方式,但是你有沒有想過到底 Cache 放對東西了嗎?或是放了太多一樣的東西,如果快取用的不好不但沒有幫助到效能反而可能拖累整個 Server ,因此 demo 要推薦一個早在 2006 年就推出的好東西,它可以讓我們方便快速的看到快取的狀態和內容進而調整快取的數量與值。
有使用 ASP.NET MVC 的朋友應該會對於 TryUpdateModel 有一定的認知,他不但可以利用 Metadata 來做欄位的驗證確保資料的正確性,也可以指定更新的條件以及不更新的條件來達到萬用的功能,因為他的好用所以 demo 也是經常使用他,但是使用的時候多少會覺得每次都要指定欄位很麻煩嗎?這裡告訴大家一個小技巧,讓你的 TryUpdateModel 更順手。
話說光棒 LinghtBar 這玩意是一個很平常的效果了,記得當初 demo 剛開始在寫程式的時候就有一個想法,想做出一個萬用的方法讓以後很方便,但是那時候我的功力寫不出來,只寫了一個半殘的程式,而日子就這樣過去了我也沒有再去思考過這件事情,直到最近又有機會碰到需要光棒效果的網頁,而且沒有設計人員幫我處理,既然又要自己來了,那就搞好它吧
在 ASP.NET MVC 2.0 以後增加了一個 Area(區域)的概念,對於區分開不同模組或是共同開發的時候相當好用,A區域的不會影響到B區域,但是如果很不巧的使用到了相同的 Controller 名稱,那可是會發生錯誤的,一開始可能會以為這是個限制,但是仔細想想,都已經有了區域概念卻還互相影響是很蠢的,因此我們可以利用 Router 的限制規則來排除這個問題,讓個別的區域開發者可以不用顧慮到命名的問題。
已經有在開發 ASP.NET MVC 的朋友一定知道,ASP.NET MVC 找頁面的預設路由就是目前資料夾找不到再去 Shared 目錄找,因此對於一些共用的頁面就都會丟在 Shared 目錄,共用的東西多了以後整個 Shared 就醜得很,所以本文要來說一個很小很小的技巧就是再加上資料夾來分類 Shared 目錄內的頁面。
之前 demo 有寫過一篇「驗證 AJAX 動態載入的頁面是否已被導向(簡單版)」引來不少朋友提供一些實作的建議,所以今天要再來寫一篇利用 ASP.NET MVC 的 ActionFilter 機制,來實作的的文章。
一般來說當清單頁面執行了刪除的功能後,都需要利用重新載入頁面的方式來讓清單更新,不然使用者一定會說為什麼刪除沒有效果,為了刪除而去重新整理一次頁面還滿耗資源的,所以有很多人會自行撰寫 AJAX 的方式來更新,雖然是不難但 ASP.NET MVC 內建就有了 jQuery 和 MicrosoftAjax ,所以對於刪除這件事情就可以做得更聰明更自然,以下就來看看吧。
通常專案上線後還是必須要監控網站的健康情況,但上線後的設定都會改成<customErrors mode="RemoteOnly" />總不可能有錯還回到正式機去改成Off以後再來偵錯吧,而且有些是客戶才會遇到的錯誤,在資訊不明確的狀態下也是很難除錯的,而這套Elmah就是一套相當好的工具,它可以把網站開始發生的例外全部都記錄下來而且支援多種通知方式,記錄的內容也相當豐富,對於維護網站品質有一定的幫助,如果你有案子在手上需要維護,這套工具是可以幫助到你的。
寫了 MVC 應該很容易遇到需要使用 JSON 的時候,ASP.NET MVC 支援多種 ActionResult 其中一種就是 Json ,demo 今天遇到一個需求,我必須將一個複雜型別 List<Dictionary<string, MyClass>> 序列化後存放於 DB 供需要時取用,原本很直覺的想說那我就序列化為 XML 存放,但程式寫完執行卻得到了黃紅畫面的朝弄,我竟然忘記了實作 IDictionary 介面的類別 (例如 Hashtable) 並不能序列化為 XML。
將西元轉換為民國年是台灣開發者經常遇到的問題,在這之前demo都是很自然的把年份-1911拿達成,但客戶要求顯示的日期需要有星期,因為減了1911年星期會相差一天,於是就乾脆直接擴充 DataTime 作一個轉換民國年的擴充方法。
如果我們建立了一個表單,而且將此表單設定為 GET 並且又是使用圖片按鈕來當 Submit 在傳送的時候就會多出 x y 的參數,雖然好像很貼心,不過看了還滿礙眼的。