天天看點

MVC3開發常常遇到的問題及常常使用到的代碼片段

1、加密可用:

 2、在Model裡限制數字大小範圍:

 3、具有相同關鍵鍵值的字段設定方法(常常用在更新資料的時候):

解決的是象下面的情形:

MVC3開發常常遇到的問題及常常使用到的代碼片段

4、Model中“郵箱、手機、密碼“字段屬性驗證方法:

 5、在Controller的擷取參數為Guid類型時,是無法擷取的,隻能采用string類型的然後再進行轉換為Guid類型的,方法如下:

 6、如果在Get 的Controller裡向View頁面轉值時,那麼在HttpPost的Controller裡一定要也要有邏輯表達,不然view出錯時可能會丢失值,然後造成錯誤的出現。

 7、在View頁面裡ViewBag的動态傳值方法:

 8、使用aspnetdb資料庫時不需要安裝sqlexpress版本而使用本地資料庫怎麼?

 9、在View使用RenderAction注意事項:

要使用大括号和分号如:

 10、使用ViewBag時有時候字元串會被編碼,比如“<”被編碼成:<解決辦法如下:

隻要在View頁利用Html.Raw就行了

有些地方也許要這樣使用:

判斷語句中使用是: 

11、在li中選擇一行時顯示底色的方法:

<a href="http://docs.jquery.com/UI/Selectable">http://docs.jquery.com/UI/Selectable</a>

12、下拉菜單text自定義顯示

要實作的樣式如下圖:

MVC3開發常常遇到的問題及常常使用到的代碼片段

 13、多選框的另一種形式

MVC3開發常常遇到的問題及常常使用到的代碼片段

相當關鍵的一處是:

它一定要放在頁面的下面,不然不會起反映的

 14、在Model裡設定時間的顯示格式方法

 15、jquery給文本框指派

 16、讓input沒有緩存下拉值并隻允許輸入數字,其它字元無法輸入

 17、清空input的内容的jquery寫法

 18、等待幾毫秒後再進行下面的操作

 19、把字元型日期轉換為日期型的方法

Convert.ToDateTime 方法 (String) 将日期和時間的指定字元串表示形式轉換為等效的日期和時間值。

DateTime.Parse 方法 (String) 将日期和時間的指定字元串表示形式轉換為其等效的 DateTime。

 20、把Decimal類型保留 兩位小數

 21、怎樣解決:未找到路徑“……”的控制器或該控制器未實作 IController?

就是要加上new{area=""}

 22、當MVC添加區域的時候,如果在最外圍的公共層_Layout.cshtml有連結到Area内的actionName和controllerName那麼要這樣寫:

其中User指的是Area内的其中一個區域,有時候Area内可能會有多個區域,比如:Mana、User、Pub等

23、Jquery把字元型數字轉化為可以比較的數字類型

使用parseInt

 24、不允許使用浏覽器的後退按鈕(在有購物車的時候特别有用)

在Global.asax裡添加如下代碼:

 25、怎樣模糊查詢當天全部日期包括當天的小時/秒/毫秒

方法如下:

 26、怎麼處理MVC3中出現的“未将對象引用設定到對象的執行個體”所引發的異常?

在處理顯示類時注意要用:@Html.DisplayFor(item=&gt;item.User) 而不要直接使用:@Model.User

如果這樣使用,當Model為空時就會引發上述異常!

27、Splic用法

 28、MVC3中删除“主表”其相關的“從表”也跟着删除或者更新的方法是:

 29、點選多行中一個&lt;td&gt;裡的内容可以下拉菜單

MVC3開發常常遇到的問題及常常使用到的代碼片段

 30、對于集合中重複的項,要過濾重複項,必須要配合Select指令:Distinct()才起作用。

 31、根據不同的值顯示不同的連結資訊的方法

可以使用Url:

然後再使用自定義的@helper函數來判斷LinkText應該怎麼顯示

32、由于注冊兩個相同的控制器而出現無法找到比對的控制的錯誤,如:

解決辦法是“ManaAreaRegistration.cs”和“Global.asax”分别加上Router的命名空間即可,如下:

在根下加:new string[]{"Proweb.Controllers"}

在Area的Mana下加:new string[] {"Proweb.Areas.Mana.Controllers"}

 33、Include在Linq To Entity中的作用

請看如下例子:

一個“風格流派”包含多個“專輯”,點選其中一個流派則可以傳回此流派我多個清單

MVC3開發常常遇到的問題及常常使用到的代碼片段

Models應該加List&lt;Album&gt;

MVC3開發常常遇到的問題及常常使用到的代碼片段

 34、擷取id值的方法

如果url是 /home/index?id=3 直接Request就ok。

但是如果路由設定為:{controller}/{action}/{id}

url是 /home/index/3

這時想在頁面View中擷取參數id的值,該怎麼擷取? 

查了下資料好多人都利用Action擷取到參數值後,用Viewdata傳到View中

例如

Controlers中的phonelist這樣定義

public ActionResult phonelist(int id)

{

ViewData["id"] = id;

return View();

}

其實,沒有必要,隻要在view中這樣擷取就可以:

&lt;%=Html.ViewContext.RouteData.Values["id"]%&gt;

就算沒有id的參數也不會報錯。 

同樣:

&lt;%=Request.RequestContext.RouteData.Values["id"] %&gt;和

&lt;%=Html.ViewContext.RouteData.Route.GetRouteData(Html.ViewContext.HttpContext).Values["id"]%&gt;也可以取到。

在使用者控件中是無法直接通路到RouteData,RouteData是Page對象中的屬性,

是以需要在使用者控件中使用this.Page.RouteData來擷取參數

使用this.Page.RouteData.Values["id"]來擷取參數的值

35、小數點後顯示兩位小數的方法

 36、送出驗證

學習交流群:364976091