Mvc5 控制器,視圖簡單說明
本系列會比Mvc4更詳細。Mvc4記錄或沒記錄的東西這裏也會提到。
控制器
自動裝配:
一般自動裝配對於添加的時候比較好用
視圖:
控制器返回的視圖,其實就是一些靜態的HTML。動態性不好,從控制器傳遞少量數據,最簡單使用 ViewBag。只適用於少量數據。
強類型視圖
開始學習的時候覺得 ViewBag還行,一到寫項目的時候你就會覺得ViewBag很不方便。
ViewBag的不足
因為 ViewBag是動態解析的,每次用的時候需要轉下行
再升級一點,不過這個時候你是不能打點來輸出屬性的,因為是動態解析的,只要當運行的時候才會解析,才會報錯
這個時候就需要我們的強類型來完善上面的不足了。
控制器向視圖傳值: ViewBag和ViewData的區別
ViewData 更像一種特殊的字典類型。
ViewBag 則是動態解析的。
視圖模型
添加視圖
Razor視圖引擎
代碼表達式
Razor中的核心轉換字符是 @ ,Razor很智能使其非常的受歡迎。智能:大部分可以自己判斷是屬性還是顯示的字符。
HTML編碼 避免XSS攻擊,後面的文章中會詳細介紹
Razor語法示例
布局 等同於 web Forms裏面的母版頁
①新建一個MVC5的布局頁 SiteLayoutPage.cshtml 布局頁可以看作一個特別的視圖。
②創建與之關聯的視圖
Index頁面我們做了關聯很好理解,Test頁面我們沒有做關聯也可以關聯上。那是因為有個 _ViewStart.cshtml 頁面
只在Index裏面聲明Footer節而不再Test裏面聲明
打開Test就會報錯
指定部分視圖
①創建一個返回部分視圖的方法
②添加視圖
部分視圖一般用來進行局部更新非常的好用。把需要變得的HTML放到局部視圖中,然後利用Ajax進行更新非常的常見。
Index頁面:
布局頁:
Mvc5 控制器,視圖簡單說明