HtmlHelper是MVC 2中引入的类。它用于以编程方式创建HTML控件。它提供了内置方法来在视图页面上生成控件。在本主题中,我们列出了此类的构造函数,属性和方法。最后,我们解释了一个使用扩展方法创建表单的示例。
注意:HtmlHelper类旨在生成UI。不应在控制器或模型类中使用它。
构造函数
以下是HtmlHelper类的构造函数。
构造器名称 | 描述 |
---|---|
HtmlHelper(ViewContext, IViewDataContainer) | 通过使用指定的视图上下文和视图数据容器, 初始化HtmlHelper类的新实例。 |
HtmlHelper(ViewContext, IViewDataContainer, RouteCollection) | 通过使用指定的视图上下文, 视图数据容器和路由集合, 初始化HtmlHelper类的新实例。 |
属性
Name | 描述 |
---|---|
RouteCollection | 它用于获取或设置应用程序的路由集合。 |
ViewBag | 它用于获取视图包。 |
ViewContext | 它用于获取或设置有关视图的上下文信息。 |
ViewData | 它用于获取当前视图数据字典。 |
ViewDataContainer | 它用于获取或设置视图数据容器。 |
HtmlHelper扩展方法
Name | 描述 | 重载方法 |
---|---|---|
Action(String) | 它用于调用指定的子操作方法, 并将结果作为HTML字符串返回。 | 动作(字符串, 对象)动作(字符串, RouteValueDictionary)动作(字符串, 字符串)动作(字符串, 字符串, 对象)动作(字符串, 字符串, RouteValueDictionary) |
BeginForm() | 它用于生成开始<form>标记。该表单使用POST方法。 | BeginForm(Object)BeginForm(RouteValueDictionary)BeginForm(String, String)BeginForm(String, String, FormMethod)BeginForm(String, String, FormMethod, IDictionary <String, Object>)BeginForm(String, String, FormMethod, Object)BeginForm(String) , 字符串, 对象)BeginForm(字符串, 字符串, 对象, FormMethod)BeginForm(字符串, 字符串, 对象, FormMethod, 对象)BeginForm(字符串, 字符串, RouteValueDictionary)BeginForm(字符串, 字符串, RouteValueDictionary, FormMethod)BeginForm(字符串, 字符串, RouteValueDictionary, FormMethod, IDictionary <String, Object>) |
CheckBox(String) | 它用于通过使用指定的HTML帮助器和表单字段的名称来生成复选框输入元素。 | CheckBox(String, Boolean)CheckBox(String, Boolean, IDictionary <String, Object>)CheckBox(String, Boolean, Object)CheckBox(String, IDictionary <String, Object>)CheckBox(String, Object) |
DropDownList(String) | 它使用指定的HTML帮助器和表单字段的名称生成单选select元素。 | DropDownList(String, IEnumerable <SelectListItem>)DropDownList(String, IEnumerable <SelectListItem>, IDictionary <String, Object>)DropDownList(String, IEnumerable <SelectListItem>, Object)DropDownList(String, IEnumerable <SelectListItem>, String)DropDownList(String) , IEnumerable <SelectListItem>, 字符串, IDictionary <String, Object>)DropDownList(String, IEnumerable <SelectListItem>, String, Object)DropDownList(String, String) |
Editor(String) | 它为表达式所表示的对象中的每个属性生成一个HTML输入元素。 | 编辑器(字符串, 对象)编辑器(字符串, 字符串)编辑器(字符串, 字符串, 对象)编辑器(字符串, 字符串, 字符串)编辑器(字符串, 字符串, 字符串, 对象) |
EndForm() | 呈现结束</ form>标记。 | |
Label(String) | 它生成一个HTML标签元素。 | Label(String, IDictionary <String, Object>)Label(String, Object)Label(String, String)Label(String, String, IDictionary <String, Object>)Label(String, String, Object) |
ListBox(String) | 它使用指定的HTML帮助器返回多选select元素。 | ListBox(String, IEnumerable <SelectListItem>)ListBox(String, IEnumerable <SelectListItem>, IDictionary <String, Object>)ListBox(String, IEnumerable <SelectListItem>, Object) |
Password(String) | 它用于通过使用指定的HTML帮助器来生成密码输入元素。 | 密码(字符串, 对象)密码(字符串, 对象, IDictionary <String, 对象>)密码(字符串, 对象, 对象) |
RadioButton(String, Object) | 它返回一个单选按钮输入元素。 | RadioButton(String, Object, Boolean)RadioButton(String, Object, Boolean, IDictionary <String, Object>)RadioButton(String, Object, Boolean, Object)RadioButton(String, Object, IDictionary <String, Object>)RadioButton(String, 对象, 对象) |
TextArea(String) | 它用于创建网页的文本区域。 | TextArea(String, IDictionary <String, Object>)TextArea(字符串, Object)TextArea(String, String)TextArea(String, String, IDictionary <String, Object>)TextArea(String, String, Int32, Int32, IDictionary <String, Object>)TextArea(字符串, 字符串, Int32, Int32, 对象)TextArea(字符串, 字符串, 对象) |
TextBox(String) | 它用于通过使用指定的HTML帮助器来返回文本输入元素。 | TextBox(String, Object)TextBox(String, Object, IDictionary <String, Object>)TextBox(String, Object, Object)TextBox(String, Object, String)TextBox(String, Object, String, IDictionary <String, Object>) TextBox(字符串, 对象, 字符串, 对象) |
例
因为这是MVC应用程序,所以它包括Model,View和Controller。本示例包括以下文件。
视图
// HtmlHelperDemo.cshtml
@{
ViewBag.Title = "HtmlHelperDemo";
}
<hr />
<h3>User Registration Form</h3>
<hr />
<div class="form-horizontal">
@using (Html.BeginForm("UserRegistration", "Students"))
{
<div class="form-group">
@Html.Label("User Name", new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
@Html.TextBox("username", null, new { @class = "form-control" })
</div>
</div>
<div class="form-group">
@Html.Label("Email ID", new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
@Html.TextBox("email", null, new { @class = "form-control" })
</div>
</div>
<div class="form-group">
@Html.Label("Gender", new { @class = "control-label col-sm-2" })
<div>
<div class="col-sm-10">
Male @Html.RadioButton("Gender", "male")
Female @Html.RadioButton("Gender", "female")
</div>
</div>
</div>
<div class="form-group">
@Html.Label("Courses", new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
C# @Html.CheckBox("C#", new { value = "C#" })
ASP.NET @Html.CheckBox("ASP.NET", new { value = "ASP.NET" })
ADO.NET @Html.CheckBox("ADO.NET", new { value = "ADO.NET" })
</div>
</div>
<div class="form-group">
@Html.Label("Contact", new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
@Html.TextBox("contact", null, new { @class = "form-control" })
</div>
</div>
<div class="form-group">
<div class="col-sm-2"></div>
<div class="col-sm-10">
<input type="submit" value="submit" class="btn btn-primary" />
</div>
</div>
}
</div>
控制者
// StudentsController.cs
using System.Web.Mvc;
namespace MvcApplicationDemo.Controllers
{
public class StudentsController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult HtmlHelperDemo()
{
return View();
}
[HttpPost]
public ContentResult UserRegistration()
{
return Content(
"User Name = " + Request.Form["username"] + "<br/>" +
"Email ID = " + Request.Form["email"] + "<br/>" +
"Gender = " + Request.Form["gender"] + "<br/>" +
"Courses = " + Request.Form.GetValues("C#")[0] + " " + Request.Form.GetValues("ASP.NET")[0] + " " + Request.Form.GetValues("ADO.NET")[0] + "<br/>" +
"Contact = " + Request.Form["contact"] + "<br/>"
);
}
}
}
输出:
我们将提交以下详细信息的表格。
提交后,我们将收到action方法中的所有值。
评论前必须登录!
注册