MVC-10HTML助手
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 帮助器可用于呈现(修改和输出)HTML 表单元素:
- BeginForm()
- EndForm()
- TextArea()
- TextBox()
- CheckBox()
- RadioButton()
- ListBox()
- DropDownList()
- Hidden()
- Password()
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>
<%}%>
好好學習。天天向上

浙公网安备 33010602011771号