HTML帮助器用于修改HTML输出。
HTML帮助器
通过MVC,HTML帮助器类似于传统的ASP.NET Web Form控件。
类似ASP.NET中的web form控件,HTML帮助器用于修改HTML。但是HTML帮助器更轻。与web form控件不同,HTML帮助器没有时间模型和view state.
在大多数情况下,HTML帮助器仅仅返回字符串的方法。
通过MVC,您能够创建自己的帮助器,或者使用内建的html帮助器。
标准的HTML帮助器
MVC包含了大多数常用的HTML元素类型的标准帮助器,比如HTML链接和HTML表单元素。
HTML链接
呈现HTML链接的最简单方法是使用HTML.ActionLink()帮助器。
通过MVC,Html.ActionLink()不连接到视图。它创建控制器操作(controller action)的连接。
Razor 语法:
@Html.ActionLink("About this Website", "About")
ASP 语法:
<%=Html.ActionLink("About this Website", "About")%>
第一个参数是链接文本,第二个参数是控制器操作的名称。
上面的 Html.ActionLink() 帮助器,输出以下 HTML:
<a href="/Home/About">About this Website</a>
Html.ActionLink() 帮助器的若干参数:
参数 | 描述 |
---|---|
linkText | 定位点元素的内部文本。 |
actionName | 操作的名称。 |
controllerName | 控制器的名称。 |
protocol | URL 协议,如“http”或“https”。 |
hostname | URL 的主机名。 |
fragment | URL 片段名称(定位点名称)。 |
routeValues | 一个包含路由参数的对象。 |
htmlAttributes | 一个对象,包含要为该元素设置的 HTML 特性。 |
注释:您可以向控制器操作传递值。例如,您能够像数据库编辑操作传递数据库记录的 id。
Razor 语法 C#:
@Html.ActionLink("Edit Record", "Edit", new {Id=3})
Razor 语法 VB:
@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})
上面的 Html.ActionLink() 帮助器,输出以下 HTML:
<a href="/Home/Edit/3">Edit Record</a>
以下 HTML 帮助器可用于呈现(修改和输出)HTML 表单元素:
ASP.NET 语法 C#:
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %> <% using (Html.BeginForm()){%> <p> <label for="FirstName">First Name:</label> <%= Html.TextBox("FirstName") %> <%= Html.ValidationMessage("FirstName", "*") %> </p> <p> <label for="LastName">Last Name:</label> <%= Html.TextBox("LastName") %> <%= Html.ValidationMessage("LastName", "*") %> </p> <p> <label for="Password">Password:</label> <%= Html.Password("Password") %> <%= Html.ValidationMessage("Password", "*") %> </p> <p> <label for="Password">Confirm Password:</label> <%= Html.Password("ConfirmPassword") %> <%= Html.ValidationMessage("ConfirmPassword", "*") %> </p> <p> <label for="Profile">Profile:</label> <%= Html.TextArea("Profile", new {cols=60, rows=10})%> </p> <p> <%= Html.CheckBox("ReceiveNewsletter") %> <label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label> </p> <p> <input type="submit" value="Register" /> </p> <%}%>
原文:https://www.cnblogs.com/ximi07/p/11027888.html