ASP.NET Razor HTML 辅助方法

17 Mar 2025 | 4 分钟阅读

HtmlHelper 是 MVC 2 中引入的一个类。它用于以编程方式创建 HTML 控件。 它提供了内置方法来在视图页面上生成控件。 在本主题中,我们列出了此类的构造函数、属性和方法。 最后,我们解释了一个示例,该示例借助扩展方法创建表单。

注意:HtmlHelper 类旨在生成 UI。 不应在控制器或模型类中使用它。

构造函数

以下是 HtmlHelper 类的构造函数。

构造函数名称描述
HtmlHelper(ViewContext, IViewDataContainer)它使用指定的视图上下文和视图数据容器初始化 HtmlHelper 类的新实例。
HtmlHelper(ViewContext, IViewDataContainer, RouteCollection)它使用指定的视图上下文、视图数据容器和路由集合来初始化 HtmlHelper 类的新实例。

性质

名称描述
RouteCollection它用于获取或设置应用程序的路由集合。
ViewBag它用于获取视图包。
ViewContext它用于获取或设置有关视图的上下文信息。
ViewData它用于获取当前的视图数据字典。
ViewDataContainer它用于获取或设置视图数据容器。

HtmlHelper 扩展方法

名称描述重载方法
Action(String)它用于调用指定的子操作方法,并将结果作为 HTML 字符串返回。Action(String, Object) Action(String, RouteValueDictionary) Action(String, String) Action(String, String, Object) Action(String, String, 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, String, Object) BeginForm(String, String, Object, FormMethod) BeginForm(String, String, Object, FormMethod, Object) BeginForm(String, String, RouteValueDictionary) BeginForm(String, String, RouteValueDictionary, FormMethod) BeginForm(String, String, RouteValueDictionary, FormMethod, IDictionary<String, Object>)
CheckBox(String)它用于使用指定的 HTML 辅助方法和表单字段的名称来生成一个复选框 input 元素。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>, String, IDictionary<String, Object>) DropDownList(String, IEnumerable<SelectListItem>, String, Object) DropDownList(String, String)
Editor(String)它为表达式表示的对象中的每个属性生成一个 HTML input 元素。Editor(String, Object) Editor(String, String) Editor(String, String, Object) Editor(String, String, String) Editor(String, String, String, Object)
EndForm()它呈现结束 </form> 标签。
Label(String)它生成一个 HTML label 元素。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 辅助方法生成一个密码 input 元素。Password(String, Object) Password(String, Object, IDictionary<String, Object>) Password(String, Object, Object)
RadioButton(String, Object)它返回一个单选按钮 input 元素。RadioButton(String, Object, Boolean) RadioButton(String, Object, Boolean, IDictionary<String, Object>) RadioButton(String, Object, Boolean, Object) RadioButton(String, Object, IDictionary<String, Object>) RadioButton(String, Object, Object)
TextArea(String)它用于在网页上创建一个文本区域。TextArea(String, IDictionary<String, Object>) TextArea(String, Object) TextArea(String, String) TextArea(String, String, IDictionary<String, Object>) TextArea(String, String, Int32, Int32, IDictionary<String, Object>) TextArea(String, String, Int32, Int32, Object) TextArea(String, String, Object)
TextBox(String)它用于使用指定的 HTML 辅助方法返回一个文本 input 元素。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(String, Object, String, Object)

示例

因为这是一个 MVC 应用程序,所以它包括 Model、View 和 Controller。 此示例包括以下文件。

视图 (View)

// HtmlHelperDemo.cshtml

控制器

// StudentsController.cs

输出

ASP Net razor html helpers 1

我们正在提交此表单,其中包含以下详细信息。

ASP Net razor html helpers 2

提交后,我们将收到操作方法中的所有值。

ASP Net razor html helpers 3