<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET MVC學習教程之Razor語法

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:35:00
        文檔

        ASP.NET MVC學習教程之Razor語法

        ASP.NET MVC學習教程之Razor語法:前言 ASP.NET MVC 3配有一個新的名為Razor的視圖引擎選項(除了已有的.aspx視圖引擎)。Razor盡量減少編寫一個視圖模板需要敲入的字符數(shù),實現(xiàn)快速流暢的編程工作流。與大部分模板的語法不同,你不必在HTML中為了明確地標記出服務模塊的開始和結束而中斷編
        推薦度:
        導讀ASP.NET MVC學習教程之Razor語法:前言 ASP.NET MVC 3配有一個新的名為Razor的視圖引擎選項(除了已有的.aspx視圖引擎)。Razor盡量減少編寫一個視圖模板需要敲入的字符數(shù),實現(xiàn)快速流暢的編程工作流。與大部分模板的語法不同,你不必在HTML中為了明確地標記出服務模塊的開始和結束而中斷編

        前言

        ASP.NET MVC 3配有一個新的名為“Razor”的視圖引擎選項(除了已有的.aspx視圖引擎)。Razor盡量減少編寫一個視圖模板需要敲入的字符數(shù),實現(xiàn)快速流暢的編程工作流。與大部分模板的語法不同,你不必在HTML中為了明確地標記出服務模塊的開始和結束而中斷編程。Razor解析器足夠聰明,能從你的代碼中推斷出來。這使其簡潔,富有表現(xiàn)力的語法輸入干凈,快速,有趣。下面話不多說了,來一起看看詳細的介紹吧

        1. 表達式

        表達式必須跟在“@”符號之后,

        2.代碼塊

        代碼塊必須位于“@{}”中,并且每行代碼必須以“;”結尾。代碼塊中定義的變量可能會被同一個域中的其他塊使用。比如,定義在視圖頂部的變量可以被同一視圖中的代碼塊和代碼段訪問。

        3. 布局

        Razor通過layouts保持網(wǎng)頁外觀布局的一致性。布局模板包含基本的標簽,并可以指定渲染視圖內容的位置。比如

        基本布局文件(_Layout.cshtml)

        <!DOCTYPE Html>
        <html lang=”en”>
         <head>
         <mete charset=”utf-8”/>
         <title>@View.Title</title>
         </head>
         <body>
         <div class=”header”>
         @RenderSection(“Header”);
         </div>
         @RenderBody()
         <div class=”footer”>
         @RenderSection(“Footer”);
         </div>
         </body>
        </html>

        布局頁面定義完成后,其他視圖頁面就可以引用該布局文件,比如

        @{Layout=”~/_Layout.cshtml”;}
        @section Header {
         <h1>Page Header Content</h1>
        }
        @section Footer {
         Copyright @DateTime.Now.Year
        }
        <div class=”main”>
         Page Main Content
        </div>

        使用Razor布局和內容視圖將頁面組合在一起,展示了一個完整的頁面,其中的每一塊定義了頁面的不同部分。

        4.部分視圖

        使用布局通過重用部分HTML代碼做到網(wǎng)站外觀的一致性,但是有一些情況,布局則無法實現(xiàn),比如,網(wǎng)頁上的一部分信息需要多次重復出現(xiàn)(格式一致,顯示內容不一致),例如,購物網(wǎng)站頁面上的交易列表,只顯示交易名稱、當前價格和摘要信息。

        ASP.NET MVC通過部分視圖的技術實現(xiàn)了這個需求。

        首先,先定義部分視圖,并保存為單獨的視圖文件(例如,~/Views/Shared/Acution.cshtml)。

        @model Auction
        <div class=”auction”>
         <a href=”@Model.Url”><img src=”@Model.ImageUrl”</a>
         <h4><a href=”@Model.Url”>@Model.Title</a></h4>
         <p>Current Price :@Model.CurrentPrice</p>
        </div>

        然后,在需要使用該部分視圖的位置,調用ASP.NET MVC自帶的HTML方法調用它,比如:

        @model IEnumerable<Auction>
        
        <h2>Search Result</h2>
        @foreach(var auction in Model){
         @Html.Partial(“Auction”,auction);
        }

        其中,Html.Partial()方法的第一個參數(shù)“Auction”是部分視圖名稱,并需要包含擴展名。第二個參數(shù)則是傳遞到部分視圖的數(shù)據(jù)模型。第二個參數(shù)不是必須的,如果不傳遞,系統(tǒng)會默認將調用該部分視圖的數(shù)據(jù)模型進行傳遞,比如,本例中的IEnumerable<Auction>。

        由此可見,使用部分視圖能夠降低網(wǎng)頁中的代碼重復和編碼復雜性,增強可讀性。

        5. 顯示數(shù)據(jù)

        MVC架構分為三層,模型、視圖和控制器。三層之間彼此分離且協(xié)同工作,其中,就需要控制器擔當“協(xié)調”的角色,視圖將請求交給控制器,控制器對模型進行操作,并將操作結果反饋給視圖,視圖對模型的數(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有兩個重要的幫助類來生成對應的HTML代碼,分別是HTMLHelper和URLHelper。HTMLHelper類用來生成HTML標記代碼,URLHelper用來生成URL地址鏈接。

        <img src='@Url.Content(“~/Content/images/header.jps”)'/>
        @Html.ActionLink(“Home”,”Index”,”Home”)

        渲染得到的HMTL代碼為:

        <img src='/vdir/Content/images/header.jpg'/>
        <a href=”/vdir/Home/Index”>HomePage</a>

        總結

        聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET MVC學習教程之Razor語法

        ASP.NET MVC學習教程之Razor語法:前言 ASP.NET MVC 3配有一個新的名為Razor的視圖引擎選項(除了已有的.aspx視圖引擎)。Razor盡量減少編寫一個視圖模板需要敲入的字符數(shù),實現(xiàn)快速流暢的編程工作流。與大部分模板的語法不同,你不必在HTML中為了明確地標記出服務模塊的開始和結束而中斷編
        推薦度:
        標簽: 學習 教程 入門
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产99视频免费精品是看6| 午夜免费福利在线观看| 国产亚洲?V无码?V男人的天堂 | 一级午夜免费视频| 男人的天堂亚洲一区二区三区 | 国产成人精品免费视频大全| 亚洲国产精品尤物YW在线观看 | 91嫩草免费国产永久入口| 久久久久亚洲精品天堂| 青青青免费国产在线视频小草| 亚洲一区二区三区无码国产| 最近最新MV在线观看免费高清| 日韩亚洲产在线观看| 国产精品久久久久影院免费| 美女视频黄.免费网址| 亚洲国产一级在线观看 | 午夜私人影院免费体验区| 亚洲熟妇无码一区二区三区导航| 国产精品视频免费一区二区三区| 乱爱性全过程免费视频| 久久精品国产亚洲av麻| 无码乱肉视频免费大全合集 | 亚洲色偷偷综合亚洲AV伊人蜜桃| 四虎影视精品永久免费网站| 国产精品免费久久久久电影网| 亚洲AV无码专区亚洲AV伊甸园 | 亚洲精品麻豆av| 一级毛片在线观看免费| 日本亚洲色大成网站www久久| 四虎永久在线免费观看| 久久精品国产大片免费观看 | 色多多www视频在线观看免费| 亚洲精品色午夜无码专区日韩| 久久精品人成免费| 精品国产亚洲第一区二区三区| 亚洲精品国产精品乱码视色| 91短视频免费在线观看| 欧洲乱码伦视频免费国产| 亚洲网址在线观看你懂的| 日本久久久免费高清| 野花香高清视频在线观看免费|