HtmlHelper<TModel>

.NET Framework 4

表示支持在强类型视图中呈现 HTML 控件。

继承层次结构


System.Object
System.Web.Mvc.HtmlHelper
System.Web.Mvc.HtmlHelper<TModel>

命名空间: System.Web.Mvc
程序集: System.Web.Mvc(在 System.Web.Mvc.dll 中)

语法


 

public class HtmlHelper<TModel> : HtmlHelper

 

类型参数TMode

lhtmlHelper<TModel> 类型公开以下成员。

构造函数


 

名称

说明

 

HtmlHelper<TModel>(ViewContext, IViewDataContainer)

使用指定的视图上下文和视图数据容器来初始化 HtmlHelper<TModel> 类的新实例。

 

HtmlHelper<TModel>(ViewContext, IViewDataContainer, RouteCollection)

使用指定的视图上下文、视图数据容器和路由集合来初始化 HtmlHelper<TModel> 类的新实例。

页首

属性


 

名称

说明

 

RouteCollection

获取或设置应用程序的路由的集合。 (继承自 HtmlHelper。)

 

ViewContext

获取或设置有关视图的上下文信息。 (继承自 HtmlHelper。)

 

ViewData

获取强类型视图数据字典。

 

ViewDataContainer

获取或设置视图数据容器。 (继承自 HtmlHelper。)

页首

方法


 

名称

说明

 

AntiForgeryToken()

生成一个隐藏的窗体字段(防伪标记),在提交窗体时将验证此字段。 (继承自 HtmlHelper。)

 

AntiForgeryToken(String)

生成一个隐藏的窗体字段(防伪标记),在提交窗体时将验证此字段。使用指定的 salt 值生成字段值。 (继承自 HtmlHelper。)

 

AntiForgeryToken(String, String, String)

生成一个隐藏的窗体字段(防伪标记),在提交窗体时将验证此字段。使用指定的 salt 值、域和路径生成字段值。 (继承自 HtmlHelper。)

 

AttributeEncode(Object)

将指定的特性对象转换为 HTML 编码的字符串。 (继承自 HtmlHelper。)

 

AttributeEncode(String)

将指定的特性字符串转换为 HTML 编码的字符串。 (继承自 HtmlHelper。)

 

EnableClientValidation

启用通过在浏览器中使用客户端脚本来执行的输入验证。 (继承自 HtmlHelper。)

 

Encode(Object)

将指定对象的值转换为 HTML 编码的字符串。 (继承自 HtmlHelper。)

 

Encode(String)

将指定的字符串转换为 HTML 编码的字符串。 (继承自 HtmlHelper。)

 

Equals

确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)

 

Finalize

下面的示例使用 $$$$方法实例化一个字符串,表示 每个 Aegean 的数目。 (继承自 Object。)

 

GetHashCode

用作特定类型的哈希函数。 (继承自 Object。)

 

GetType

获取当前实例的 Type。 (继承自 Object。)

 

HttpMethodOverride(String)

返回隐藏的 input 元素,该元素用于标识客户端使用的指定 HTTP 数据传输方法的重写方法。 (继承自 HtmlHelper。)

 

HttpMethodOverride(HttpVerbs)

返回隐藏的 input 元素,该元素标识表示客户端使用的 HTTP 数据传输方法的指定谓词的重写方法。 (继承自 HtmlHelper。)

 

MemberwiseClone

创建当前 Object 的浅表副本。 (继承自 Object。)

 

ToString

返回表示当前对象的字符串。 (继承自 Object。)

页首

扩展方法


 

名称

说明

 

Action(String)

已重载。 调用指定子操作方法并以 HTML 字符串形式返回结果。 (由 ChildActionExtensions 定义。)

 

Action(String, Object)

已重载。 使用指定参数调用指定子操作方法并以 HTML 字符串形式返回结果。 (由 ChildActionExtensions 定义。)

 

Action(String, RouteValueDictionary)

已重载。 使用指定参数调用指定子操作方法并以 HTML 字符串形式返回结果。 (由 ChildActionExtensions 定义。)

 

Action(String, String)

已重载。 使用指定控制器名称调用指定子操作方法,并以 HTML 字符串形式返回结果。 (由 ChildActionExtensions 定义。)

 

Action(String, String, Object)

已重载。 使用指定参数和控制器名称调用指定子操作方法,并以 HTML 字符串形式返回结果。 (由 ChildActionExtensions 定义。)

 

Action(String, String, RouteValueDictionary)

已重载。 使用指定参数和控制器名称调用指定子操作方法,并以 HTML 字符串形式返回结果。 (由 ChildActionExtensions 定义。)

 

ActionLink(String, String)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, RouteValueDictionary)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, String)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, Object, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, RouteValueDictionary, IDictionary<String, Object>)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, String, Object, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, String, RouteValueDictionary, IDictionary<String, Object>)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, String, String, String, String, Object, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

ActionLink(String, String, String, String, String, String, RouteValueDictionary, IDictionary<String, Object>)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

BeginForm()

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(RouteValueDictionary)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, RouteValueDictionary)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, FormMethod)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, Object, FormMethod)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, RouteValueDictionary, FormMethod)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, FormMethod, Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, FormMethod, IDictionary<String, Object>)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, Object, FormMethod, Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginForm(String, String, RouteValueDictionary, FormMethod, IDictionary<String, Object>)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(RouteValueDictionary)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, RouteValueDictionary)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, FormMethod)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, Object, FormMethod)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, RouteValueDictionary, FormMethod)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, FormMethod, Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, FormMethod, IDictionary<String, Object>)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, Object, FormMethod, Object)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

BeginRouteForm(String, RouteValueDictionary, FormMethod, IDictionary<String, Object>)

已重载。 将 <form> 开始标记写入响应。在用户提交窗体时,将由路由目标处理该请求。 (由 FormExtensions 定义。)

 

CheckBox(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBox(String, Boolean)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称,以及一个指示是否已选中复选框的值,返回复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBox(String, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和 HTML 特性,返回复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBox(String, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和 HTML 特性,返回复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBox(String, Boolean, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、一个指示是否已选中复选框的值以及 HTML 特性,返回复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBox(String, Boolean, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、一个指示是否已选中复选框的值以及 HTML 特性,返回复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBoxFor<TModel>(Expression<Func<TModel, Boolean>>)

已重载。 为指定表达式表示的对象中的每个属性返回对应的复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBoxFor<TModel>(Expression<Func<TModel, Boolean>>, Object)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的复选框 input 元素。 (由 InputExtensions 定义。)

 

CheckBoxFor<TModel>(Expression<Func<TModel, Boolean>>, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的复选框 input 元素。 (由 InputExtensions 定义。)

 

Display(String)

已重载。 返回由字符串表达式表示的对象中的每个属性所对应的 HTML 标记。 (由 DisplayExtensions 定义。)

 

Display(String, Object)

已重载。 通过使用其他视图中数据的一个字符串表达式表示的对象中返回每个属性的 HTML 标记。 (由 DisplayExtensions 定义。)

 

Display(String, String)

已重载。 使用指定模板返回一个由表达式表示的对象中的每个属性所对应的 HTML 标记。 (由 DisplayExtensions 定义。)

 

Display(String, String, Object)

已重载。 返回由在使用指定的模板和其他视图中数据的表达式表示的对象中的每个属性的 HTML 标记。 (由 DisplayExtensions 定义。)

 

Display(String, String, String)

已重载。 返回由在使用指定的模板和 HTML 字段 id。 的表达式表示的对象中的每个属性的 HTML 标记 (由 DisplayExtensions 定义。)

 

Display(String, String, String, Object)

已重载。 返回由在使用指定的模板、 HTML 字段 ID,和其他视图中数据的表达式表示的对象中的每个属性的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayFor<TModel, TValue>(Expression<Func<TModel, TValue>>)

已重载。 返回由 Expression 表达式表示的对象中的每个属性所对应的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayFor<TModel, TValue>(Expression<Func<TModel, TValue>>, Object)

已重载。 返回一个字符串,包含由指定使用其他视图中数据的表达式表示的对象中的每个属性值。 (由 DisplayExtensions 定义。)

 

DisplayFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String)

已重载。 使用指定模板返回一个字符串,该字符串包含由 Expression 表示的对象中的每个属性值。 (由 DisplayExtensions 定义。)

 

DisplayFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String, Object)

已重载。 返回一个字符串,包含由指定使用指定的模板和其他视图中数据的表达式表示的对象中的每个属性值。 (由 DisplayExtensions 定义。)

 

DisplayFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String, String)

已重载。 返回每个属性的 HTML 标记中该对象表示由 Expression,使用指定的模板和一个 HTML 字段 id。 (由 DisplayExtensions 定义。)

 

DisplayFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String, String, Object)

已重载。 返回由指定使用模板、 HTML 字段 ID 和其他视图中数据的表达式表示的对象中的每个属性的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayForModel()

已重载。 返回模型中的每个属性所对应的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayForModel(Object)

已重载。 在使用其他视图中数据的模型中返回每个属性的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayForModel(String)

已重载。 使用指定模板返回模型中每个属性所对应的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayForModel(String, Object)

已重载。 Returns HTML markup for each property in the model, using the specified template and additional view data. (由 DisplayExtensions 定义。)

 

DisplayForModel(String, String)

已重载。 使用指定模板和 HTML 字段 ID 返回模型中每个属性所对应的 HTML 标记。 (由 DisplayExtensions 定义。)

 

DisplayForModel(String, String, Object)

已重载。 Returns HTML markup for each property in the model, using the specified template, an HTML field ID, and additional view data. (由 DisplayExtensions 定义。)

 

DisplayText

返回指定表达式所表示对象中的每个属性所对应的 HTML 标记。 (由 DisplayTextExtensions 定义。)

 

DisplayTextFor<TModel, TResult>

返回指定表达式所表示对象中的每个属性所对应的 HTML 标记。 (由 DisplayTextExtensions 定义。)

 

DropDownList(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, String)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和选项标签,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, IEnumerable<SelectListItem>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和指定列表项,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, IEnumerable<SelectListItem>, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、指定列表项和指定的 HTML 特性,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, IEnumerable<SelectListItem>, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、指定列表项和指定的 HTML 特性,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, IEnumerable<SelectListItem>, String)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、指定列表项和选项标签,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, IEnumerable<SelectListItem>, String, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、指定列表项、选项标签和指定的 HTML 特性,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownList(String, IEnumerable<SelectListItem>, String, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、指定列表项、选项标签和指定的 HTML 特性,返回单选 select 元素。 (由 SelectExtensions 定义。)

 

DropDownListFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>)

已重载。 使用指定列表项,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

DropDownListFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, Object)

已重载。 使用指定列表项和 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

DropDownListFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, IDictionary<String, Object>)

已重载。 使用指定列表项和 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

DropDownListFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, String)

已重载。 使用指定列表项和选项标签,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

DropDownListFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, String, Object)

已重载。 使用指定列表项、选项标签和 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

DropDownListFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, String, IDictionary<String, Object>)

已重载。 使用指定列表项、选项标签和 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

Editor(String)

已重载。 返回一个由表达式表示的对象中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

Editor(String, Object)

已重载。 返回 input对象,表示通过使用这一表达式中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

Editor(String, String)

已重载。 使用指定模板返回一个由表达式表示的对象中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

Editor(String, String, Object)

已重载。 返回 input对象,表示在使用指定模板和表达式中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

Editor(String, String, String)

已重载。 使用指定模板和 HTML 字段名返回一个由表达式表示的对象中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

Editor(String, String, String, Object)

已重载。 返回 input对象,表示在使用指定模板、 HTML 字段名称和表达式中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EditorFor<TModel, TValue>(Expression<Func<TModel, TValue>>)

已重载。 返回一个由 Expression 表达式表示的对象中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

EditorFor<TModel, TValue>(Expression<Func<TModel, TValue>>, Object)

已重载。 返回 input对象,表示通过使用这一表达式中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EditorFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String)

已重载。 使用指定模板返回一个由 Expression 表达式表示的对象中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

EditorFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String, Object)

已重载。 返回 input对象,表示在使用指定模板和表达式中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EditorFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String, String)

已重载。 使用指定模板和 HTML 字段名返回一个由 Expression 表达式表示的对象中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

EditorFor<TModel, TValue>(Expression<Func<TModel, TValue>>, String, String, Object)

已重载。 返回 input对象,表示在使用指定模板、 HTML 字段名称和表达式中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EditorForModel()

已重载。 返回模型中的每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

EditorForModel(Object)

已重载。 返回 input使用这一模型中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EditorForModel(String)

已重载。 使用指定模板返回模型中每个属性所对应的 HTML input 元素。 (由 EditorExtensions 定义。)

 

EditorForModel(String, Object)

已重载。 返回 input使用指定模板和在模型中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EditorForModel(String, String)

已重载。 返回 input使用指定模板名称和在模型中每个属性元素 HTML HTML 字段名称 (由 EditorExtensions 定义。)

 

EditorForModel(String, String, Object)

已重载。 返回 input在使用该模板名称、 HTML 字段名称和模型中每个属性元素 HTML 其他视图数据 (由 EditorExtensions 定义。)

 

EndForm

将 </form> 结束标记呈现到响应中。 (由 FormExtensions 定义。)

 

Hidden(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回隐藏的 input 元素。 (由 InputExtensions 定义。)

 

Hidden(String, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和值,返回隐藏的 input 元素。 (由 InputExtensions 定义。)

 

Hidden(String, Object, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、值和 HTML 特性,返回隐藏的 input 元素。 (由 InputExtensions 定义。)

 

Hidden(String, Object, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、值和 HTML 特性,返回隐藏的 input 元素。 (由 InputExtensions 定义。)

 

HiddenFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>)

已重载。 为由指定表达式表示的对象中的每个属性返回对应的 HTML 隐藏 input 元素。 (由 InputExtensions 定义。)

 

HiddenFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML 隐藏 input 元素。 (由 InputExtensions 定义。)

 

HiddenFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML 隐藏 input 元素。 (由 InputExtensions 定义。)

 

Label

返回一个 HTML label 元素和由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义。)

 

LabelFor<TModel, TValue>

返回一个 HTML label 元素和由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义。)

 

LabelForModel

返回一个 HTML label 元素和由模型表示的属性的属性名称。 (由 LabelExtensions 定义。)

 

ListBox(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回多选 select 元素。 (由 SelectExtensions 定义。)

 

ListBox(String, IEnumerable<SelectListItem>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和指定列表项,返回多选 select 元素。 (由 SelectExtensions 定义。)

 

ListBox(String, IEnumerable<SelectListItem>, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和指定列表项,返回多选 select 元素。 (由 SelectExtensions 定义。)

 

ListBox(String, IEnumerable<SelectListItem>, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、指定的列表项和指定的 HTML 特性,返回多选 select 元素。 (由 SelectExtensions 定义。)

 

ListBoxFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>)

已重载。 使用指定列表项,返回指定表达式所表示对象中每个属性对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

ListBoxFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, Object)

已重载。 使用指定列表项和 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

ListBoxFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IEnumerable<SelectListItem>, IDictionary<String, Object>)

已重载。 使用指定列表项和 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML select 元素。 (由 SelectExtensions 定义。)

 

Partial(String)

已重载。 以 HTML 编码字符串的形式呈现指定的分部视图。 (由 PartialExtensions 定义。)

 

Partial(String, ViewDataDictionary)

已重载。 以 HTML 编码字符串的形式呈现指定的分部视图。 (由 PartialExtensions 定义。)

 

Partial(String, Object)

已重载。 以 HTML 编码字符串的形式呈现指定的分部视图。 (由 PartialExtensions 定义。)

 

Partial(String, Object, ViewDataDictionary)

已重载。 以 HTML 编码字符串的形式呈现指定的分部视图。 (由 PartialExtensions 定义。)

 

Password(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回密码 input 元素。 (由 InputExtensions 定义。)

 

Password(String, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和值,返回密码 input 元素。 (由 InputExtensions 定义。)

 

Password(String, Object, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、值和 HTML 特性,返回密码 input 元素。 (由 InputExtensions 定义。)

 

Password(String, Object, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、值和 HTML 特性,返回密码 input 元素。 (由 InputExtensions 定义。)

 

PasswordFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>)

已重载。 为指定表达式表示的对象中的每个属性返回对应的密码 input 元素。 (由 InputExtensions 定义。)

 

PasswordFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的密码 input 元素。 (由 InputExtensions 定义。)

 

PasswordFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的密码 input 元素。 (由 InputExtensions 定义。)

 

RadioButton(String, Object)

已重载。 返回用于呈现互斥选项的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButton(String, Object, Object)

已重载。 返回用于呈现互斥选项的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButton(String, Object, IDictionary<String, Object>)

已重载。 返回用于呈现互斥选项的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButton(String, Object, Boolean)

已重载。 返回用于呈现互斥选项的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButton(String, Object, Boolean, Object)

已重载。 返回用于呈现互斥选项的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButton(String, Object, Boolean, IDictionary<String, Object>)

已重载。 返回用于呈现互斥选项的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButtonFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object)

已重载。 为指定表达式表示的对象中的每个属性返回对应的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButtonFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object, Object)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RadioButtonFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的单选按钮 input 元素。 (由 InputExtensions 定义。)

 

RenderAction(String)

已重载。 调用指定子操作方法并在父视图中以内联方式呈现结果。 (由 ChildActionExtensions 定义。)

 

RenderAction(String, Object)

已重载。 使用指定参数调用指定子操作方法,并在父视图中以内联方式呈现结果。 (由 ChildActionExtensions 定义。)

 

RenderAction(String, RouteValueDictionary)

已重载。 使用指定参数调用指定子操作方法,并在父视图中以内联方式呈现结果。 (由 ChildActionExtensions 定义。)

 

RenderAction(String, String)

已重载。 使用指定控制器名称调用指定子操作方法,并在父视图中以内联方式呈现结果。 (由 ChildActionExtensions 定义。)

 

RenderAction(String, String, Object)

已重载。 使用指定参数和控制器名称调用指定子操作方法,并在父视图中以内联方式呈现结果。 (由 ChildActionExtensions 定义。)

 

RenderAction(String, String, RouteValueDictionary)

已重载。 使用指定参数和控制器名称调用指定子操作方法,并在父视图中以内联方式呈现结果。 (由 ChildActionExtensions 定义。)

 

RenderPartial(String)

已重载。 使用指定的 HMTL 帮助器来呈现指定的分部视图。 (由 RenderPartialExtensions 定义。)

 

RenderPartial(String, ViewDataDictionary)

已重载。 呈现指定的分部视图,并使用指定的 ViewDataDictionary 对象替换其 ViewData 属性。 (由 RenderPartialExtensions 定义。)

 

RenderPartial(String, Object)

已重载。 呈现指定的分部视图,并向其传递当前 ViewDataDictionary 对象的副本,但应将 Model 属性设置为指定的模型。 (由 RenderPartialExtensions 定义。)

 

RenderPartial(String, Object, ViewDataDictionary)

已重载。 呈现指定的分部视图,使用指定的 ViewDataDictionary 对象替换分部视图的 ViewData 属性,并将视图数据的 Model 属性设置为指定的模型。 (由 RenderPartialExtensions 定义。)

 

RouteLink(String, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, RouteValueDictionary)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String, RouteValueDictionary)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, Object, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, RouteValueDictionary, IDictionary<String, Object>)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String, Object, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String, RouteValueDictionary, IDictionary<String, Object>)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String, String, String, String, Object, Object)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

RouteLink(String, String, String, String, String, RouteValueDictionary, IDictionary<String, Object>)

已重载。 返回包含指定操作的虚拟路径的定位点元素(a 元素)。 (由 LinkExtensions 定义。)

 

TextArea(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, Object)

已重载。 通过使用指定的 HTML 帮助器和 HTML 特性,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和指定的 HTML 特性,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, String)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和文本内容,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, String, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、文本内容和指定的 HTML 特性,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, String, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、文本内容和指定的 HTML 特性,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, String, Int32, Int32, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、文本内容、行数和列数以及指定的 HTML 特性,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextArea(String, String, Int32, Int32, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、文本内容、行数和列数以及指定的 HTML 特性,返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextAreaFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>)

已重载。 为由指定表达式表示的对象中的每个属性返回对应的 HTML textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextAreaFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextAreaFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的 HTML textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextAreaFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Int32, Int32, Object)

已重载。 使用指定 HTML 特性以及行数和列数,为由指定表达式表示的对象中的每个属性返回对应的 HTML textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextAreaFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Int32, Int32, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性以及行数和列数,为由指定表达式表示的对象中的每个属性返回对应的 HTML textarea 元素。 (由 TextAreaExtensions 定义。)

 

TextBox(String)

已重载。 通过使用指定的 HTML 帮助器和窗体字段的名称,返回文本 input 元素。 (由 InputExtensions 定义。)

 

TextBox(String, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称和值,返回文本 input 元素。 (由 InputExtensions 定义。)

 

TextBox(String, Object, Object)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、值和 HTML 特性,返回文本 input 元素。 (由 InputExtensions 定义。)

 

TextBox(String, Object, IDictionary<String, Object>)

已重载。 通过使用指定的 HTML 帮助器、窗体字段的名称、值和 HTML 特性,返回文本 input 元素。 (由 InputExtensions 定义。)

 

TextBoxFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>)

已重载。 为由指定表达式表示的对象中的每个属性返回对应的文本 input 元素。 (由 InputExtensions 定义。)

 

TextBoxFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, Object)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的文本 input 元素。 (由 InputExtensions 定义。)

 

TextBoxFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, IDictionary<String, Object>)

已重载。 使用指定 HTML 特性,为由指定表达式表示的对象中的每个属性返回对应的文本 input 元素。 (由 InputExtensions 定义。)

 

Validate

检索指定模型的验证元数据,并将每个规则应用于数据字段。 (由 ValidationExtensions 定义。)

 

ValidateFor<TModel, TProperty>

检索验证元数据并验证由指定表达式表示的每个数据字段。 (由 ValidationExtensions 定义。)

 

ValidationMessage(String)

已重载。 在 ModelStateDictionary 对象中的指定字段出错时显示一条验证消息。 (由 ValidationExtensions 定义。)

 

ValidationMessage(String, Object)

已重载。 在 ModelStateDictionary 对象中的指定字段出错时显示一条验证消息。 (由 ValidationExtensions 定义。)

 

ValidationMessage(String, String)

已重载。 在 ModelStateDictionary 对象中的指定字段出错时显示一条验证消息。 (由 ValidationExtensions 定义。)

 

ValidationMessage(String, IDictionary<String, Object>)

已重载。 在 ModelStateDictionary 对象中的指定字段出错时显示一条验证消息。 (由 ValidationExtensions 定义。)

 

ValidationMessage(String, String, Object)

已重载。 在 ModelStateDictionary 对象中的指定字段出错时显示一条验证消息。 (由 ValidationExtensions 定义。)

 

ValidationMessage(String, String, IDictionary<String, Object>)

已重载。 在 ModelStateDictionary 对象中的指定字段出错时显示一条验证消息。 (由 ValidationExtensions 定义。)

 

ValidationMessageFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>)

已重载。 为由指定表达式表示的每个数据字段的验证错误消息返回对应的 HTML 标记。 (由 ValidationExtensions 定义。)

 

ValidationMessageFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, String)

已重载。 使用指定消息,为由指定表达式表示的每个数据字段的验证错误消息返回对应的 HTML 标记。 (由 ValidationExtensions 定义。)

 

ValidationMessageFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, String, Object)

已重载。 使用指定消息和 HTML 特性,为由指定表达式表示的每个数据字段的验证错误消息返回对应的 HTML 标记。 (由 ValidationExtensions 定义。)

 

ValidationMessageFor<TModel, TProperty>(Expression<Func<TModel, TProperty>>, String, IDictionary<String, Object>)

已重载。 使用指定消息和 HTML 特性,为由指定表达式表示的每个数据字段的验证错误消息返回对应的 HTML 标记。 (由 ValidationExtensions 定义。)

 

ValidationSummary()

已重载。 返回 ModelStateDictionary 对象中的验证消息的未排序列表(ul 元素)。 (由 ValidationExtensions 定义。)

 

ValidationSummary(Boolean)

已重载。 返回 ModelStateDictionary 对象中验证消息的未排序列表(ul 元素),还可以选择仅显示模型级错误。 (由 ValidationExtensions 定义。)

 

ValidationSummary(String)

已重载。 返回 ModelStateDictionary 对象中的验证消息的未排序列表(ul 元素)。 (由 ValidationExtensions 定义。)

 

ValidationSummary(Boolean, String)

已重载。 返回 ModelStateDictionary 对象中验证消息的未排序列表(ul 元素),还可以选择仅显示模型级错误。 (由 ValidationExtensions 定义。)

 

ValidationSummary(String, Object)

已重载。 返回 ModelStateDictionary 对象中的验证消息的未排序列表(ul 元素)。 (由 ValidationExtensions 定义。)

 

ValidationSummary(String, IDictionary<String, Object>)

已重载。 返回 ModelStateDictionary 对象中的验证消息的未排序列表(ul 元素)。 (由 ValidationExtensions 定义。)

 

ValidationSummary(Boolean, String, Object)

已重载。 返回 ModelStateDictionary 对象中验证消息的未排序列表(ul 元素),还可以选择仅显示模型级错误。 (由 ValidationExtensions 定义。)

 

ValidationSummary(Boolean, String, IDictionary<String, Object>)

已重载。 返回 ModelStateDictionary 对象中验证消息的未排序列表(ul 元素),还可以选择仅显示模型级错误。 (由 ValidationExtensions 定义。)

       

页首

备注


HtmlHelper<TModel> 类是 HtmlHelper 类的一种强类型化的子类。HtmlHelper 类提供了一套帮助器方法,可以帮助您以编程方式创建 HTML 控件。HtmlHelper 类的方法生成 HTML,并返回一个字符串作为结果。

注意

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

HtmlHelper 类的扩展方法在 System.Web.Mvc.Html 命名空间中。这些扩展添加用于创建窗体、呈现 HTML 控件、呈现分部视图、输入验证(等等)的帮助器方法。

通过使用视图的 Html 属性调用所有帮助器方法和扩展,其中视图是 HtmlHelper 类的实例。例如,要在窗体中生成一个复选框,您可以使用下列语法调用 CheckBox 方法:

<%= Html.CheckBox("OptionName") >

线程安全


此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。 但不保证所有实例成员都是线程安全的。

 

http://www.bianceng.cn/webkf/aspx/201107/27646.htm   MVC重点教程

 

MVC重点教程 HtmlHelper

许多时候我们会遇到如下场景

在写一个编辑数据的页面时,我们通常会写如下代码

   1: <input type="text" value='<%=ViewData["title"] %>' name="title" />

由前篇我们所讲的Helper演化,我们思考,对于这种代码我们是不是也可以用一个Helper来自动绑定数据呢

这当然是可以的,ASP.NET MVC提供了一个HtmlHelper用于生成有数据绑定的Html标签。

1.ActionLink

其中最常用的就是Html.ActionLink

1.1基本的使用方式

   1: <%=Html.ActionLink("这是一个连接", "Index", "Home")%>

在UrlRouting规则为默认规则的情况下,它生成的HTML代码为

   1: <a href="/">这是一个连接</a>

ActionLink中的三个参数分别为

  1. 显示的文字
  2. Action
  3. Controller

其中Controller可以省略,省略时指向同一Controller下的Action。

1.2ActionLink中QueryString与Html属性设置

   1: 带有QueryString的写法
   2: <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page=1 },null)%>
   3: <%=Html.ActionLink("这是一个连接", "Index", new { page=1 })%>
   4: 有其它Html属性的写法
   5: <%=Html.ActionLink("这是一个连接", "Index", "Home", new { id="link1" })%>
   6: <%=Html.ActionLink("这是一个连接", "Index",null, new { id="link1" })%>
   7: QueryString与Html属性同时存在
   8: <%=Html.ActionLink("这是一个连接", "Index", "Home", new { page = 1 }, new { id = "link1" })%>
   9: <%=Html.ActionLink("这是一个连接", "Index" , new { page = 1 }, new { id = "link1" })%>

其生成结果为:

   1: 带有QueryString的写法
   2: <a href="/?page=1">这是一个连接</a>
   3: <a href="/?page=1">这是一个连接</a>
   4: 有其它Html属性的写法
   5: <a href="/?Length=4" id="link1">这是一个连接</a>
   6: <a href="/" id="link1">这是一个连接</a>
   7: QueryString与Html属性同时存在
   8: <a href="/?page=1" id="link1">这是一个连接</a>
   9: <a href="/?page=1" id="link1">这是一个连接</a>

这样就可以使用ActionLink生成近乎所有的地址连接了。

注意,如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了,例如

   1: <a href="#1">一章</a>
   2: <a href="javascript:void(0)" onclick="delete();">删除</a>

2.RouteLink

2.1与ActionLink

RouteLink与ActionLink相差无几,只是它的地址是由Route生成拿上面的例子

   1: <%=Html.ActionLink("这是一个连接", "Index", "Home")%>

来说,如果用RouteLink来写就是

   1: <%=Html.RouteLink("这是一个连接", new { controller="Home",action="Index"})%>

 

而带上QueryString以及Html属性的ActionLink

   1: <%=Html.ActionLink("这是一个连接", "Index" , new { page = 1 }, new { id = "link1" })%>

就可以这样来写

   1: <%=Html.RouteLink("这是一个连接", new { action = "index", page = 1 }, new { id="link1"})%>

 

其实就是用一个新建立的RouteValueDictionary的对象(new{}所实例化的对象将会等价转换为RouteValueDictionary)来替原来的Action,Controller字符串的单独指定。

2.2RouteLink使用Route规则

除了这些协同的用法,RouteLink还支持使用Route规则名来创建连接

例如我们在Global.asax文件中添加一个Route规则

   1: routes.MapRoute(
   2:     "about",//这是规则名
   3:     "about",//url
   4:     new {controller = "Home", action = "about"}
   5:     );

那么我们就可以使用这个Route规则

   1: <%=Html.RouteLink("关于", "about", new { })%>
   2: <%=Html.RouteLink("关于", "about", new { page = 1 })%>
   3: <%=Html.RouteLink("关于", "about", new { page = 1 }, new { id = "link1" })%>

来生成如下的HTML:

   1: <a href="/about">关于</a>
   2: <a href="/about?page=1">关于</a>
   3: <a href="/about?page=1" id="link1">关于</a>

 

3.表单

很多情况下是要生成表单元素的,正如文章开始所述,修改一个内容的情况下,我们可能要将数据与表单绑定。

3.1生成Form

我们当然可以使用纯的Html代码或UrlHelper来生成一个Form。

   1: <form action="/home/index" method="post">
   2: </form>
   1: <form action="<%=Url.Action("Index","Home")%>" method="post">
   2: </form>

但是因为是在HTML的属性中,所以还是难以维护,幸好ASP.NET MVC为我们提供了一个Helper,我们可以通过以下两种方式生成一个Form:

   1: <%using(Html.BeginForm("index","home",FormMethod.Post)){%>
   2: 表单内容
   3: <%} %>
   4: <%Html.BeginForm("index", "home", FormMethod.Post);//注意这里没有=输出%>
   5: 表单内容
   6: <%Html.EndForm(); %>

BeginForm方法类似于ActionLink的调用方式,所以ASP.NET MVC还提供了BeginRouteForm这种方法。

当然这里我们也可以使用new{}来为form的action增加querystring或HTML属性,方法与前面介绍的大同小异,参见方法列表即可。

 

3.2表单元素

ASP.NET MVC提供了多种表单元素的Helper。

其中包括:TextBox(类似input type=text,下面类似)、TextArea、DropDownList(select)、CheckBoxHidden、ListBox、Password、RadionButton。

注意:因为<input type=”submit” />一般情况下是不会绑定数据的所以ASP.NET MVC并未提供此Helper(曾经提供过在preview2之前)。

如果我们想提供一个input type=text 它的name为t1则以下代码:

   1: <%=Html.TextBox("t1") %>

3.3表单元素绑定

如果我们想要让上文中的t1初始时就有一个值,比如 “重典”那么我们可以按以下方式

   1: <%=Html.TextBox("t1","重典") %>

如果数据是从数据库中读取,即得到数据是从Action中获取的,那么我们可以在Action中使用ViewData传递

Action:

   1: ViewData["name"]="重典";

View:

   1: <%=Html.TextBox("t1",ViewData["name"]) %>

 

以上方法看似简单,其实ASP.NET MVC为我们提供了更为简便的绑定方式---只要保证ViewData的Key与Helper所生成元素的name保持一致就可以自动绑定:

Action:

   1: ViewData["t1"]="重典";

View:

   1: <%=Html.TextBox("t1") %>

 

 

这样就可以自动绑定了

3.4列表数据显示与绑定

像TextBox这种值单一的数据比较容易,但是存在的数据比较多的DropDownList或ListBox应该怎么绑定数据及初始化值呢,我们来看看下面的例子:

Action:

   1: ViewData["sel1"] = new SelectList(
   2:     new[] {1, 2, 3} /*列表内容可以是数组*/
   3:     , 3 /*默认值,可以是从数据库读出的*/
   4:     );

View:

   1: <%=Html.DropDownList("sel1")%>

这样就可以将列表内容、默认值、以及表单元素三者绑定在一起了。

而我们的列表内容并不是任何情况下都是数组的,大多情况下还是Key-Value对居多。

我们可以使用以下方式:

   1: List<SelectListItem> list = new List<SelectListItem>
   2:                               {
   3:                                   new SelectListItem {Text = "重典", Value = "1"},
   4:                                   new SelectListItem {Text = "邹健", Value = "2"},
   5:                               };
   6: ViewData["sel1"] = new SelectList(
   7:     list /*列表内容可以是数组*/
   8:     , "2" /*默认值,可以是从数据库读出的*/
   9:     );

 

如果是list泛型集合,则不能用ViewData["sel1"] = new SelectList(
   7:     list /*列表内容可以是数组*/
   8:     , "2" /*默认值,可以是从数据库读出的*/
   9:     );
这种方法,直接赋值就好:ViewData[“sell”]=list;
然后在赋值给Dropdown List:@Html.DropDownList(“sell”)

 

 

 

4.表单(二)

使用HtmlHelper的扩展类FormExtensions来生成Form,这里重点介绍BeginForm方法,它有13个重载方法,通过重载方法为表单添加属性,像action,method,id,enctype等属性。下面我们用其中一个方法来生成表单:

[c-sharp] view plaincopy

  1. <%using(Html.BeginForm("action","controllName", FormMethod.Post)){ %>  
  2.         <%} %>  

生成结果

[xhtml] view plaincopy

  1. <form action="/controllName/action" method="post"></form>   

 

5.表单元素

a.来看一下InputExtensions类中的一些生成元素的常方法,其中每个方法都有重载方法:

  • CheckBox方法: 返回复选框 input 元素
  •         Hidden方法:返回隐藏的 input 元素
  •         Password方法:返回密码 input 元素
  • RadioButton方法:返回用于呈现互斥选项的单选按钮 input 元素
  • TextBox方法:返回文本 input 元素

 

     直接上例子:

[c-sharp] view plaincopy

  1. <%using (Html.BeginForm("action", "controllName", FormMethod.Post))  
  2.           { %>  
  3.         姓名:<%:Html.TextBox("txtName") %><br />  
  4.         密码:<%:Html.Password("txtPwd") %><br />  
  5.         性别: <label> 男<%: Html.RadioButton("grp1", "男", truenew { id = "rbtnBoy" })%></label><label>女<%: Html.RadioButton("grp1", "女", falsenew { id = "rbtnGril" })%></label> <br />  
  6.         爱好:<label>游泳<%: Html.CheckBox("chkA") %> </label> <label> 看书<%: Html.CheckBox("chkB") %> </label> <label> 睡觉<%: Html.CheckBox("chkC") %> </label><br />  
  7.              <label>看电视<%: Html.CheckBox("chkD") %>  </label> <label>上网 <%: Html.CheckBox("chkE") %> </label> <label> 购物<%: Html.CheckBox("chkF") %> </label><br />  
  8.         <%} %>  

 

结果:

 

html源码:

[c-sharp] view plaincopy

  1. <form action="/controllName/action" method="post">   
  2.         姓名:<input id="txtName" name="txtName" type="text" value="" /><br />   
  3.         密码:<input id="txtPwd" name="txtPwd" type="password" /><br />   
  4.         性别: <label> 男<input checked="checked" id="rbtnBoy" name="grp1" type="radio" value="男" /></label><label>女<input id="rbtnGril" name="grp1" type="radio" value="女" /></label> <br />   
  5.         爱好:<label>游泳<input id="chkA" name="chkA" type="checkbox" value="true" /><input name="chkA" type="hidden" value="false" /> </label> <label> 看书<input id="chkB" name="chkB" type="checkbox" value="true" /><input name="chkB" type="hidden" value="false" /> </label> <label> 睡觉<input id="chkC" name="chkC" type="checkbox" value="true" /><input name="chkC" type="hidden" value="false" /> </label><br />   
  6.              <label>看电视<input id="chkD" name="chkD" type="checkbox" value="true" /><input name="chkD" type="hidden" value="false" />  </label> <label>上网 <input id="chkE" name="chkE" type="checkbox" value="true" /><input name="chkE" type="hidden" value="false" /> </label> <label> 购物<input id="chkF" name="chkF" type="checkbox" value="true" /><input name="chkF" type="hidden" value="false" /> </label><br />   
  7.         </form>   

 

 

b.LinkExtensions

  • ActionLink方法:返回包含指定操作的虚拟路径的定位点元素(a 元素)
  • RouteLink方法: An anchor element (a element)

 

 

例子:

[c-sharp] view plaincopy

  1. <%: Html.ActionLink("点我跳转到其它页面","actionName") %><br />  
  2.        <%: Html.ActionLink("点我跳转到其它页面","actionName","controllerName") %><br />  
  3.        <%: Html.RouteLink("点我跳转到其它页面", new { controller = "Home", action = "List" }, new { id = "link1", @class = "link_hover" })%>  

 

生成html代码:

[xhtml] view plaincopy

  1. a href="/Home/actionName">点我跳转到其它页面</a><br />  
  2.         <a href="/controllerName/actionName" mce_href="controllerName/actionName">点我跳转到其它页面</a><br />  
  3.         <a class="link_hover" href="/Home/List" mce_href="Home/List" id="link1">点我跳转到其它页面</a>  

 

c.ChildActionExtensions,包括下面两个方法,每个方法都有六个重载函数

  • Action方法:使用指定的參數叫用指定的子系動作方法,並以 HTML 字串形式傳回結果。把目标页镶嵌在本页中
  • RenderAction方法:无返回值的方法,也是把目标页镶嵌在本页中

 

假如在同一个controller下有a,b两个action

如果在a页面上调用 <%:Html.Action("b")%>或者<% Html.RenderAction("b"); %>,哪么显示出来的结果将是b页面镶嵌在a页面中。

 

下面用例子来验证上面的结果:

在HomeController类中有两个actin,分别是a方法和b方法。

[c-sharp] view plaincopy

  1. public class HomeController : Controller  
  2.   {  
  3.       public ActionResult a()  
  4.       {  
  5.           return View();  
  6.       }  
  7.       public ActionResult b()  
  8.       {  
  9.           return View();  
  10.       }  
  11.   }  
 

 

下面分别是a页面和b页面中的代码:

[xhtml] view plaincopy

  1. <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>  
  2. <!DOCTYPE html>  
    1. <html>  
    2. <head runat="server">  
    3.     <title>a</title>  
      1. </head>  
      2. <body>  
    4.     <div>  
    5.         这是a页面  
    6.         <%:Html.Action("b") %>  
    7.     </div>  
      1. </body>  
      2. </html>  
    8. ---------------------------------  
      1. <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>  
    9. <!DOCTYPE html>  
      1. <html>  
      2. <head runat="server">  
    10.     <title>b</title>  
      1. </head>  
      2. <body>  
    11.     <div>  
    12.         这是b页面  
    13.     </div>  
      1. </body>  
      2. </html>  
 
 
 
 
 
 
 
 
 
 
 
 
 
 

在浏览器中输入:http://localhost:12151/home/a 结果如下:(这里会把b页面中html代码全部放入到a页码中 )

这是a页面

这是b页面

在浏览器中输入:http://localhost:12151/home/b 结果如下:

 

这是b页面

由结果可知:<%:Html.Action("b") %>处的代码把页面中的内容显示到了a页面中.

 

d:PartialExtensions类,这个类比较简单,是把用户自定义控键呈现在页面上,只有一个方法

  • Partial方法:这个方法有4个重载,都很简单

调用这个方法的时候真接把用户自定义好的控键()的名字传入方法中既可:如<%:Html.Partial("partialViewName")%>

 这些就会把这个控键的内容在父页面上显示出来了。很简单,大家可以去试一下。

e:SelectExtensions

  • DropDownList方法
  • ListBox方法

对于上面两个方法,一看名字就知道是干啥用的,就不细说了。。

DropDownList小例:

[c-sharp] view plaincopy

  1. <%: Html.DropDownList("国家", new SelectListItem[] {   
  2.                         new SelectListItem() { Text = "中国", Value = "中国" },   
  3.                         new SelectListItem() { Text = "印度", Value = "印度" },  
  4.                         new SelectListItem() { Text = "鹅国", Value = "鹅国" },  
  5.                         new SelectListItem() { Text = "钱国", Value = "钱国" },  
  6.                         new SelectListItem() { Text = "钱国", Value = "钱国" },  
  7.                         new SelectListItem() { Text = "钱国", Value = "钱国" },  
  8.                         new SelectListItem() { Text = "钱国", Value = "钱国" }}  
  9.                         )%>  
  10.        <%: Html.ListBox("国家", new SelectListItem[] {   
  11.                         new SelectListItem() { Text = "中国", Value = "中国" },   
  12.                         new SelectListItem() { Text = "印度", Value = "印度" },  
  13.                         new SelectListItem() { Text = "鹅国", Value = "鹅国" },  
  14.                         new SelectListItem() { Text = "钱国", Value = "钱国" },  
  15.                         new SelectListItem() { Text = "钱国", Value = "钱国" },  
  16.                         new SelectListItem() { Text = "钱国", Value = "钱国" },  
  17.                         new SelectListItem() { Text = "钱国", Value = "钱国" }}  
  18.                         )%>  

结果图:

 

生成Html源码:

[xhtml] view plaincopy

  1.       <select name="国家"><option value="中国">中国</option>   
  2. <option value="印度">印度</option>   
  3. <option value="鹅国">鹅国</option>   
  4. <option value="钱国">钱国</option>   
  5. <option value="钱国">钱国</option>   
  6. <option value="钱国">钱国</option>   
  7. <option value="钱国">钱国</option>   
  8. </select>   
  9.    
  10.        <select multiple="multiple" name="国家"><option value="中国">中国</option>   
  11. <option value="印度">印度</option>   
  12. <option value="鹅国">鹅国</option>   
  13. <option value="钱国">钱国</option>   
  14. <option value="钱国">钱国</option>   
  15. <option value="钱国">钱国</option>   
  16. <option value="钱国">钱国</option>   
  17. </select>   

 

些外还有其它一些扩展类,像

TextAreaExtensions,ValidationExtensions等。。

 

TextAreaExtensions,ValidationExtensions,RenderPartialExtensions

 

 

HTML扩展类的所有方法都有2个参数:

以textbox为例子

public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, IDictionary<string, Object> htmlAttributes )

public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Object htmlAttributes )

这2个参数代表这个html标签的属性集合。使用方法如下。

 

1.ActionLink

<%=Html.ActionLink("这是一个连接", "Index", "Home")%>
带有QueryString的写法
<%=Html.ActionLink("这是一个连接", "Index", "Home", new { page=1 },null)%>
<%=Html.ActionLink("这是一个连接", "Index", new { page=1 })%>
有其它Html属性的写法
<%=Html.ActionLink("这是一个连接", "Index", "Home", new { id="link1" })%>
<%=Html.ActionLink("这是一个连接", "Index",null, new { id="link1" })%>
QueryString与Html属性同时存在
<%=Html.ActionLink("这是一个连接", "Index", "Home", new { page = 1 }, new { id = "link1" })%>
<%=Html.ActionLink("这是一个连接", "Index" , new { page = 1 }, new { id = "link1" })%>
 
生成结果为:
<a href="/">这是一个连接</a>
带有QueryString的写法
<a href="/?page=1">这是一个连接</a>
<a href="/?page=1">这是一个连接</a>
有其它Html属性的写法
<a href="/?Length=4" id="link1">这是一个连接</a>
<a href="/" id="link1">这是一个连接</a>
QueryString与Html属性同时存在
<a href="/?page=1" id="link1">这是一个连接</a>
<a href="/?page=1" id="link1">这是一个连接</a>
 

2.RouteLink

跟ActionLink在功能上一样。
<%=Html.RouteLink("关于", "about", new { })%>
带QueryString
<%=Html.RouteLink("关于", "about", new { page = 1 })%>
<%=Html.RouteLink("关于", "about", new { page = 1 }, new { id = "link1" })%>
 
生成结果:
<a href="/about">关于</a>
<a href="/about?page=1">关于</a>
<a href="/about?page=1" id="link1">关于</a> 

3.Form   2种方法

<%using(Html.BeginForm("index","home",FormMethod.Post)){%>
<%} %>
 
<%Html.BeginForm("index", "home", FormMethod.Post);//注意这里没有=输出%>
<%Html.EndForm(); %>
 
生成结果:
<form action="/home/index" method="post"></form>

4.TextBox , Hidden ,

<%=Html.TextBox("input1") %> 
<%=Html.TextBox("input2",Model.CategoryName,new{ @style = "width:300px;" }) %> 
<%=Html.TextBox("input3", ViewData["Name"],new{ @style = "width:300px;" }) %> 
<%=Html.TextBoxFor(a => a.CategoryName, new { @style = "width:300px;" })%> 
 
生成结果:
 
<input id="input1" name="input1" type="text" value="" /> 
<input id="input2" name="input2" style="width:300px;" type="text" value="Beverages" /> 
<input id="input3" name="input3" style="width:300px;" type="text" value="" /> 
<input id="CategoryName" name="CategoryName" style="width:300px;" type="text" value="Beverages" />

 

5.TextArea

<%=Html.TextArea("input5", Model.CategoryName, 3, 9,null)%> 
<%=Html.TextAreaFor(a => a.CategoryName, 3, 3, null)%>
 
生成结果:
<textarea cols="9" id="input5" name="input5" rows="3">Beverages</textarea> 
<textarea cols="3" id="CategoryName" name="CategoryName" rows="3">Beverages</textarea>

 

6.CheckBox

<%=Html.CheckBox("chk1",true) %> 
<%=Html.CheckBox("chk1", new { @class="checkBox"}) %> 
<%=Html.CheckBoxFor(a =>a.IsVaild, new { @class = "checkBox" })%>
 
生成结果:
 
<input checked="checked" id="chk1" name="chk1" type="checkbox" value="true" /><input name="chk1" type="hidden" value="false" />
 
<input class="checkBox" id="chk1" name="chk1" type="checkbox" value="true" /><input name="chk1" type="hidden" value="false" />
 
<input checked="checked" class="checkBox" id="IsVaild" name="IsVaild" type="checkbox" value="true" /><input name="IsVaild" type="hidden" value="false" />

 

 

Entity FrameWork(EF Code First)

 

添加模型

这一节我们将添加一些类来管理数据库中的电影资料。这些类是

ASP.NET MVC程序的模型部分。

您将使用被称为实体框架(Entity Framework)的.NET框架数据

访问技术去定义、使用这些类。实体框架(通常被称为EF)支持

一种叫做代码优先(Code First)的开发模式。代码优先允许您

通过编写简单的类来创建模型对象。(这些类被称作POCO对象,

来自纯粹的老的CLR对象”plain-old CLR objects.”)然后您可以

通过这些实体类动态创建数据库,它使开发流程简洁高效!

添加模型类

在解决方案资源管理中,右键Models文件夹,选择Add->

Class…。

 

命名类为”Movie”。

 

给Movies类添加5个属性。

public class Movie
{
    public int ID { get; set; }
    public string Title { get; set; }
    public DateTime ReleaseDate { get; set; }
    public string Genre { get; set; }
    public decimal Price { get; set; }
}

我们使用Movie类代表数据库中的电影。每个Movie实例代表数据表中一行,

Movie类的每个属性映射到数据表中一个字段。

在刚才的文件中再添加MovieDBContext类。

public class MovieDBContext : DbContext
{
    public DbSet<Movie> Movies { get; set; }
}

MovieDBContext类代表实体框架的电影数据库的上下文。它

处理读取、存储、更新数据中的Movie实例。MovieDBContext

派生自实体框架提供的DbContext。更多关于DbContext和DbSet

的信息,提高生产率的实体框架

为了能够引用DbContext和DbSet,您需要在文件的上边添加

下列代码:

using System.Data.Entity;

完整的Movie.cs代码如下所示:

using System;
using System.Data.Entity;
 
namespace MVCMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
 
    public class MovieDBContext : DbContext
    {
        public DbSet<Movie> Movies { get; set; }
    }
}

创建连接字符串并和SQL Server 精简版一起工作

您创建的MovieDBContext类可以用来处理连接数据库、映射Movie对象

到数据的记录。您也许会问一个问题,如何指明将要连接到的数据库?您

通过给应用程序的web.config文件添加连接字符串信息来实现。

打开应用程序的根目录下的web.config。(不是Views文件夹下的web.config。)

下图显示了这两个web.config文件;打开圈红的那个!

 

在web.config文件中添加下面的连接字符串。

<add name="MovieDBContext"
         connectionString="Data Source=|DataDirectory|Movies.sdf"
         providerName="System.Data.SQLServerCe.4.0"/>

下面的示例显示部分Web.config新添加的连接字符串。

译注:如果使用的其他版本的SQL server,需要把连接字符串中的System.Data.SQLServerCe.4.0

修改为System.Data.SqlClient。

<add name="MovieDBContext"
        connectionString="Data Source=|DataDirectory|Movies.sdf"
        providerName="System.Data.SQLServerCe.4.0"/>
<add name="ApplicationServices"
        connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
        providerName="System.Data.SqlClient" />

这些少量的代码和XML是您需要做的一切,它表示和存储在数据库中的电影数据。