1,在VS2010中,選中指定的代碼段,能夠拖拽到工具箱中,造成標籤,之後還想書寫相似的代碼,雙擊鼠標便可。html
2,在VS2012中,能夠在註釋上標註//TODO:我是註釋數據庫
這樣,註釋就會出如今任務列表中,一些關鍵經常使用的方法/字段/關注點,經過這種方式快速定位。如圖:瀏覽器
3,在VS2012中是不支持MVC1.0和MVC2.0的,若是要開啓低版本MVC項目的話,必須使用VS2010服務器
4,_ViewStart.cshtml文檔會在全部其餘全部視圖(VIEW)運行以前載入。併發
發現使用佈局頁的視圖沒有完整的HTML結構,是由於相似的視圖都做爲一部分被裝載到佈局頁中,由_ViewStart.cshtml文檔指定,默認爲_Layout.cshtml。工具
5,能夠在視圖頁面的頭部定義ViewBag的臨時變量,而沒必要是在Controller的Action方法中定義,如圖:佈局
6,在瀏覽網頁時,若是隻是指定Controller,而不指定Action,而控制器和動做方法均是必須的路由參數,這時將去RegisterRoutes()方法中取默認的Action值,如圖:post
上圖中默認的方法爲Index,也就是說當咱們輸入.../example的時候,會自動路由爲.../example/index網站
7,若是在View中定義了@model模型聲明,那麼經過Controller傳進View的模型類型必須與View中所聲明的類型兼容,不然將產生異常,如圖:url
8,在view文檔(也就是cshtml中),<head>標籤中的<title>標籤指標題,如圖:
9,以下代碼:
<p>
@Html.ActionLink("Create New", "Create")
</p>
建立連接,由於沒有指定連接的控制器名稱,因此連接到當前控制器的Create動做方法,顯示的文本爲「Create New"。
10,HTTP GET POST
HTTP GET負責顯示編輯的窗體,HTTP POST負責實際更新數據庫裏的屬性。
11,雜:
@Html.HiddenFor(model => model.ID) 生成HTML窗體的隱藏域
HTML註釋符號:<!--我是被註釋的內容-->
在ASP.NET MVC中不建議使用Request對象和Response對象
不要在視圖中撰寫過多的程序邏輯,實現「關注點分離」
網址路由在MVC中的做用:
一、比對瀏覽器傳過來的HTTP請求,對應到適當的控制器和Action進行處理;
二、決定MVC輸出什麼樣的響應給瀏覽器;
12,網址路由
好比:單擊「主頁」連接,瀏覽器將URL封包,併發送HTTP要求到服務器上,IIS接收到這個HTTP封包,轉給網址路由模塊負責將HTTP請求交由那個HTTPHandler處理,對於MVC來講,天然是轉交給MVCHandler處理,這纔會進入MVC的運行聲明週期。
全部ASP.NET Web程序的入口點均是Application_Start()事件,其中 RouteConfig.RegisterRoutes(RouteTable.Routes);
代碼中的Routes是一個公開的靜態變量,用來保存全部網址路由的規則集合,爲RouteCollection類型的變量。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
代碼中,表示不要經過網址路由處理,即若是從瀏覽器傳遞過來的網址,匹配該規則,將由IIS的其餘Http模塊處理,將不會進入ASP.MET MVC的生命週期。
url: "{controller}/{action}/{id}"
代碼中URL樣式包含三個路由參數,分別是Controller/Action/ID,注意該URL樣式不能以‘/'開頭。
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
默認值。當對比不到HTTP請求的網址時,會嘗試帶入代碼中的默認值。
當接收到HTTP請求時,將從上而下逐條比對,直到找到符合的網址格式。
注意ID不算在網址路由之中,屬於QueryString的部分。
1 routes.MapRoute( 2 name: "Default", 3 url: "{controller}/{action}/{id}", 4 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 5 );
上述代碼中,MapRoute使用的是具名參數。
13,MVC的運行聲明週期
網址路由比對-->運行Controller與Action-->運行View並回傳結果
14,MVC在比對網址路由時,默認狀況下,若是查找到網站實體目錄中查找相應的實體文檔,會自動略過全部網址路由比對。
若是想打破這種默認行爲,那麼在MVC程序的入口Application_Start()中,添加以下代碼:
RouteTable.Routes.RouteExistingFiles = true;
當網址路由比對成功時,MVC默認交由MvcHandler處理。