這篇文章主要介紹ASP.NET MVC之Razor語法的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)提供從項目策劃、軟件開發(fā),軟件安全維護、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評估等整套的建站服務(wù),主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),成都app軟件開發(fā)公司以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。創(chuàng)新互聯(lián)深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!1. 表達式
表達式必須跟在“@”符號之后,
2.代碼塊
代碼塊必須位于“@{}”中,并且每行代碼必須以“;”結(jié)尾。代碼塊中定義的變量可能會被同一個域中的其他塊使用。比如,定義在視圖頂部的變量可以被同一視圖中的代碼塊和代碼段訪問。
3. 布局
Razor通過layouts保持網(wǎng)頁外觀布局的一致性。布局模板包含基本的標簽,并可以指定渲染視圖內(nèi)容的位置。比如
基本布局文件(_Layout.cshtml)
@View.Title @RenderSection(“Header”);@RenderBody()@RenderSection(“Footer”);
布局頁面定義完成后,其他視圖頁面就可以引用該布局文件,比如
@{Layout=”~/_Layout.cshtml”;} @section Header {Page Header Content
} @section Footer { Copyright @DateTime.Now.Year }Page Main Content
使用Razor布局和內(nèi)容視圖將頁面組合在一起,展示了一個完整的頁面,其中的每一塊定義了頁面的不同部分。
4.部分視圖
使用布局通過重用部分HTML代碼做到網(wǎng)站外觀的一致性,但是有一些情況,布局則無法實現(xiàn),比如,網(wǎng)頁上的一部分信息需要多次重復(fù)出現(xiàn)(格式一致,顯示內(nèi)容不一致),例如,購物網(wǎng)站頁面上的交易列表,只顯示交易名稱、當前價格和摘要信息。
ASP.NET MVC通過部分視圖的技術(shù)實現(xiàn)了這個需求。
首先,先定義部分視圖,并保存為單獨的視圖文件(例如,~/Views/Shared/Acution.cshtml)。
@model Auction
然后,在需要使用該部分視圖的位置,調(diào)用ASP.NET MVC自帶的HTML方法調(diào)用它,比如:
@model IEnumerableSearch Result
@foreach(var auction in Model){ @Html.Partial(“Auction”,auction); }
其中,Html.Partial()方法的第一個參數(shù)“Auction”是部分視圖名稱,并需要包含擴展名。第二個參數(shù)則是傳遞到部分視圖的數(shù)據(jù)模型。第二個參數(shù)不是必須的,如果不傳遞,系統(tǒng)會默認將調(diào)用該部分視圖的數(shù)據(jù)模型進行傳遞,比如,本例中的IEnumerable
由此可見,使用部分視圖能夠降低網(wǎng)頁中的代碼重復(fù)和編碼復(fù)雜性,增強可讀性。
5. 顯示數(shù)據(jù)
MVC架構(gòu)分為三層,模型、視圖和控制器。三層之間彼此分離且協(xié)同工作,其中,就需要控制器擔當“協(xié)調(diào)”的角色,視圖將請求交給控制器,控制器對模型進行操作,并將操作結(jié)果反饋給視圖,視圖對模型的數(shù)據(jù)進行呈現(xiàn)。
控制器和視圖之間的數(shù)據(jù)傳遞方式,ASP.NET MVC 提供了以下幾種實現(xiàn)方式:
1) ViewData
ViewData實現(xiàn)方式,它的實現(xiàn)類似于Dictionary的操作,使得數(shù)據(jù)傳遞變得非常簡單。
在控制器方法中使用類似于ViewData[“DataKey”]=dataValue
進行賦值,在視圖文件中,使用var dataValue=ViewData[“DataKey”]
獲取數(shù)據(jù)。
2) ViewBag
ViewBag的使用類型與C#中的dynamic類型,可以直接操作其屬性,比如,
控制器方法:ViewBag.DataProperty=dataValue;
視圖文件:var dataValue=ViewBag.DataProperty;
3) Model屬性
Model屬性屬于強類型,并且是動態(tài)類型,可以在視圖上輸入”@Model”就可以直接訪問。
6. HTMLHelper和URLHelper
Web請求的目標就是向用戶發(fā)送HTML代碼,在Razor語法中,ASP.NET MVC有兩個重要的幫助類來生成對應(yīng)的HTML代碼,分別是HTMLHelper和URLHelper。HTMLHelper類用來生成HTML標記代碼,URLHelper用來生成URL地址鏈接。
@Html.ActionLink(“Home”,”Index”,”Home”)
渲染得到的HMTL代碼為:
HomePage
以上是“ASP.NET MVC之Razor語法的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!