1.學習教程:html
1.ASP.NET MVC4入門教程:Asp.Net MVC4入門指南web
2.ASP.NET MVC4系類教程json
3.ASP.NET MVC學習系列跨域
4.從零開始學習ASP.NET MVC1.05.ASP.NET MVC模型驗證緩存
MVC模型驗證安全
5.AP.NET MVC從小牛到大牛mvc
2.ASP.NET MVC筆記:post
路由的做用:
1.獲取參數
2.引導到對應的VIEW頁面
其餘:
1.路由配置,由上而下進行匹配,匹配到後下面的再也不去匹配。學習
3.ViewData與TempData的區別:
ViewData["openId"]; 在View之間傳值
TempData["OpenId"]; 在Action之間傳值
4.在MVC的Razor視圖中寫三元表達式:
<input type="text" name="num" value="@(Model.LeastBuyHourCount!=null?Model.LeastBuyHourCount:1)">個學時
5.向控制器發送帶參數的請求寫法:
/Login/ValidateCode/?id=1
6.ASP.NET MVC視圖中的Model和model的區別: 參考>>
Model是View傳給視圖的模型變量。
model是Lambda中的參數名,這個能夠隨便叫,叫 x y z 均可以。
@model IEnumerable<StockStar.Activity.Entity.Models.favorite_rank_all_info> //指明控制器傳過來的ViewData.Model的模型類型(強類型視圖) @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Index</h2> <table> <tr> <th> @Html.DisplayNameFor(model => model.nickname) //這裏的model是lambda表達式的形參 </th> </tr> @foreach (var item in Model) //這裏的Model就是控制器傳過來的ViewData.Model的值 { <tr> <td> @Html.DisplayFor(modelItem => item.nickname) </td> </tr> } </table>
7.在視圖中引用樣式、js、圖片之類的文件,用@Url.Content("~/Content/images/pointer4.gif") 能夠將相對路徑改成絕對路徑,好比程序部署到二級目錄下的時候就有用了。要不路徑不會帶上二級目錄,則會出錯。
9.MVC遇到腳本輸入禁止報安全提示黃頁辦法,在具體方法投上加:[ValidateInput(false)]
[ValidateInput(false)] public ActionResult Owner(uint p = 1, string votername = null) { code... }
10.mvc跳轉傳值:
#region 註冊頁面 /// <summary> /// 註冊頁面 /// </summary> /// <returns></returns> public ActionResult Index() { return RedirectToAction("Success", new { password = 13 }); //跳轉加上參數 } #endregion
#region 註冊成功頁面 /// <summary> /// 註冊成功頁面 /// </summary> /// <returns></returns> public ActionResult Success(int password) //接收參數 { return View(); } #endregion
11.路由url中有.號等特殊字符報錯,如加.html後綴等。解決辦法:
配置文件:路由中含點號報錯,須要加上以下配置<modules runAllManagedModulesForAllRequests="true"></modules> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules runAllManagedModulesForAllRequests="true"/>
14.RenderAction與RenderPartial
RenderAction等因而一個完整的Action,而後將視圖貼加到主視圖中。不推薦使用,由於會拖垮主視圖加載速度,親測影響很大。
@{Html.RenderAction("NewRecommendCompany", "Company", new { count = 30 });}
public ActionResult NewRecommendCompany(int count) { return PartialView(); //不使用默認佈局 }
RenderPartial沒有本身的Action,只是有個單純的View,View能夠使用主視圖中的實體,如Model、ViewData、ViewBag的數據。
@{Html.RenderPartial("~/Views/Shared/PartialDownLoadTip.cshtml");}
15.選中與未選中寫法:
<input @Html.Raw(userInfo.Job == "OFFICE_WORKER" ? "checked='checked'" : "")) name="job" type="radio" class="input2 " value="OFFICE_WORKER" />上班族</label>
擴展閱讀: