天天看點

MVC中@了解三、Razor視圖引擎加入後,擴充出的@helper功帶來強大的功能。

打開mvc項目時,打開Login.cshtml檔案就會發現各種@的用法

首先需要說一下技術演變曆史,對了解這個很有幫助

一、ASP.NET

asp.net需要在.aspx頁面加入c#或者vb代碼

1、<%=%> 是輸出,裡面放的變量名,如:

<div> < h1>Hello World</h1> < p>Welcome to  ASP.NET on <%= DateTime.Now.ToString() %></p> < /div> 

輸出結果為:
        

HelloWorld

Welcome to ASP.NET on 20011-11-10 14:25:40 (這個例子很典型) 2、 <%#%> 是指派,它是資料的綁定的文法,必須要調用改控件的DataBind()方法才可以執行。 如:<%# DataBinder.(Container.DataItem,"ClassName") %> 完整代碼:<asp:DataList ID="ClassList" runat="server"> < ItemTemplate> <%# DataBinder.(Container.DataItem,"ClassName") %> < /ItemTemplate> < /asp:DataList></td> 3、<%@ %> 表示:引用 如在很多.aspx頁面中,都可以看到如下的代碼: <%@ PageLanguage="C#" CodeFile="Default.aspx.cs"Inherits="_Default" %> 4、<%%>中間一般放函數或者方法,典型的asp程式寫法。 例如:<trbgcolor="#ffffff"> < td height="20"> < div align="center">類别:</div> < /td> < td height="9">&nbsp; < %ST_getList();%> < /td> < /tr> 二、從ASP.NET MVC 3開始加入了Razor引擎"@" Razor是為了将所需的字元和擊鍵數減少到最小,Razor在内部幫我們做了閉合“%>” 從 <% for(int i=0; i<3; i++) { %>     <p>現在是<%= i %></p> <% } %> 到 @{  for ( int i=0; i<3; i++)             { <p>現在是 @i</p> } } 的變化

三、Razor視圖引擎加入後,擴充出的@helper功帶來強大的功能。

1、模闆頁

[email protected]

     ViewBag.Title 就是 顯示網頁的title  ,可以在layout裡面 定義一個 @ViewBag.Title - XXX網站

[email protected]("~/Content/css")

   對應App_Start/BundleConfig下添加的CSS引用組

[email protected]("~/Content/js")

   對應App_Start/BundleConfig下添加的js引用組

[email protected]()

輸入      
@Html.ActionLink("這是一個連接配接", "Index", "Home")      

   輸出

<a href="/">這是一個連接配接</a>      

[email protected]("視圖")

可以将視圖放在同級目錄下,或者放在Shared目錄下,除此之外的就不行了。      
Partial 回傳的一個Object (MvcHtmlString), 回傳一個String把一堆Html給回傳出來, 然後寫進到首頁面上      

[email protected]()

  母版頁的概念,可以認為這裡放置引用模闆頁的内容

[email protected]

  在html代碼中輸出年份

2、Login.cshtml

[email protected]   傳入model對象類型

[email protected]{}

@{}表示一個代碼塊      
2.3@using (Html.BeginForm("Index", "Home", FormMethod.Get, new { name = "nbform", id = "nbform" }))      
指定表單送出方式和路徑等
      
[email protected]()      
設定複選框input元素      

繼續閱讀