demoshop

demo, trying to be the best_

最近在整理 OneNote 的文章時,突然覺得怎麼沒有計算字數的功能,上網搜尋後看到已經有人寫好了,既然已經有人種樹了,那我們就負責乘涼吧...

這裡說的無法正常登出指的是使用了FormsAuthentication 類別 來實作的登入登出機制,並不是使用 Session 來實作的登入登出,當你在 ASP.NET MVC 使用來做登入你會發現,熟悉的 FormsAuthentication.SignOut(); 竟然會無法登出,這方面應該是屬於 ASP.NET MVC 的 Bug ,既然官方沒改那我們就繞路自己解決吧。

.NET 的開發者如果你有使用過 JSON 應該或多或少都有碰到時間格式轉換的問題,因為原生的 JSON 並沒有相關的日期格式可以使用所以微軟自己發明了"\/Date(1316175498934)\/" 這種表示法,雖然說明確的表示了日期時間,但卻苦了開發人員,好加在網路上好心人相當多,這裡就有一個還不錯的日期轉換模組可以迅速方便的解決這種問題。

好久沒發敗家文,這次敗家文竟然是主機掛掉....事隔三年,demo小鋪用的主機在兩天前無預警掛掉,努力了一個晚上雖然是救回來了,但是第二天早上起來赫然發現是迴光返照,在宣讀了死亡宣言後, demo 立刻連上電腦家買了一台新的.....

製作網站時常有要讓表單能輸入HTML的需求,但為了安全性,ASP.NET預設都會阻擋這類行為來避免攻擊。不過實務上確實有需要讓一些表單允許輸入語法,在 Web form 和 MVC 也都有提供相關的設定,不過在 ASP.NET MVC3 上增加了一個更安全的設定方式,讓網站的整體安全性更加分。

ASP.NET MVC3 提供了一個 IValidatableObject 介面,提供類別層級的驗證,因此很適合在這裡寫入複合的商業邏輯,你可能會想使用之前介紹過的 IClientValidatable 自定驗證來達成,但實作上就會發現 IClientValidatable 自定驗證無法寫出同時需要考慮到多個屬性欄位的驗證邏輯,因此當你的驗證是要同時考慮兩個以上的屬性欄位,IValidatableObject 就是一個相當不錯的驗證方式。

有許多的時候我們會希望在前端驗證後,表單送出前再加入自己的特殊處理事件,所以會不希望驗證是在使用者按下 Submit 後才執行,此篇舉一個很爛的例子來介紹如何自行呼叫前端驗證(例子真的很爛,我想兩天想不到簡單的例子....)

ASP.NET MVC3 內建的錯誤訊息都十分的詳細,但我們自己擴充的都只會顯示【欄位 XX 無效。】這種沒啥用的錯誤訊息,因此本文會說明利用一些技巧來改變錯誤訊息的內容。

之前 demo 就已經介紹過在 ASP.NET MVC 2的時候測試 Routes 的文章,剛好今天看到 Vistal Studio 2010 有一個套件也是做類似的事情,所以實際把玩了一下,感覺該套件不是那麼的方便,因此特別發文介紹一下在 ASP.NET MVC3 超簡單測試 Routes 的方法,簡單到嚇死人唷。

這一個套件實在是深得我心,因為 demo 在寫 Blog 的時候經常的會引用會連結其他網友的文章,以往就要乖乖的先複製網址再複製網站 Title,十分的麻煩但有了 Fire Link 後一切變得超級方便,就連分享到微網誌也變得相當容易,如果你也經常需要複製網址的話千萬不要錯過這套件哩

此篇是自訂擴充驗證的最後一篇,先來說說什麼叫做「不等於驗證」此驗證就是和內建的 Compare 剛好相反,您可以自訂某一欄位的值不能與另一個欄位相同,應用層面也滿廣的,比如有個欄位要輸入親子關係,那A姓名就不能等於B姓名,而且這次介紹的是彈性最高的 addMethod 所以如果你有什麼很神奇的想法,這篇就是一定要學會的。

推薦課程

徽章區

微軟最有價值專家 Developer Technologies 領域,2009年至今 業界師資、實戰教學 樂在 Coding 愛上 MVC

最新留言

目前還沒有新的留言,歡迎來留言。