MVC4學習-View(0)

  在MVC框架中,View用來封裝呈現邏輯,渲染相應的用戶接口界面。視圖不該該包含任何業務邏輯代碼,全部業務邏輯都應該經過控制器交付給模型來進行處理,視圖使用從控制器傳遞給它的數據來呈現相應的用戶接口界面。html

  1.視圖的建立框架

  能夠直接在Views文件夾下建立視圖,也能夠直接爲行爲方法建立視圖。spa

  2.理解視圖htm

  在MVC框架中,視圖只負責向用戶渲染界面,不進行任何數據的處理,而是將數據的處理交付給Controller和Model.繼承

  2.1從Controller獲取數據,使用Controller類提供的兩個屬性ViewData,ViewBag,前者使用鍵值對的形式傳遞數據(ViewData["key"]=value;),後者採用動態屬性的方式傳遞數據(ViewBag.key=value;)。接口

  2.2爲View指定強類型,能夠在建立視圖時的對話框中指定類型,也可在頁面上經過Razor語法指定(@model Model/<Model>)。it

  2.3視圖頁面(*.cshtml)是ViewPage類,繼承自Page類,它提供將視圖呈現爲Web窗體頁所須要的屬性和方法。除了從Page繼承的屬性外,還有如下屬性:io

Ajax,Html,MasterLocation,Model,TempData,Url,ViewBag,ViewContext,ViewData,Writer。具體含義請參考msdn。ast

  2.4視圖引擎表單

  默認狀況下,VS提供了兩種視圖引擎:Razor引擎(MVC3開始引入,語法挺優雅);ASPX引擎(也叫Web表單視圖引擎,使用ASP.NET Web表單的語法)。

  視圖引擎由IView,IViewEngine和ViewEngineResult三者組合構成,利用這三個接口,能夠實現自定義的視圖引擎。至於這三個接口的定義請參考msdn,順帶一句,若是要使用定製的視圖引擎,能夠在Global.asax的Application_Start()方法中對其進行註冊(ViewEngines.Engines.Add(new yourViewEngine());)。自定義視圖引擎屬於比較高級的主題,筆者也是在摸索當中。。。先吃個晚飯,,立刻回來。。。

相關文章
相關標籤/搜索