ASP.NET MVC - HtmlHelper 开发辅助类

在 ASP.Net Web 表单中,开发人员使用工具箱在任何特定页面上添加控件。 但是,在 ASP.NET MVC 应用程序中,没有可用于在视图上拖放 HTML 控件的工具箱。 在 ASP.NET MVC 应用程序中,如果要创建视图,它应该包含 HTML 代码。 因此,那些刚接触 MVC 尤其是具有 Web 表单背景的开发人员会发现这有点困难。

为了克服这个问题,ASP.NET MVC 提供了 HtmlHelper 类,它包含不同的方法来帮助您以编程方式创建 HTML 控件。 所有 HtmlHelper 方法都会生成 HTML 并以字符串形式返回结果。 最终的 HTML 是由这些函数在运行时生成的。 HtmlHelper 类旨在生成 UI,不应在控制器或模型中使用。

有不同类型的辅助方法。

  • Createinputs − 为文本框和按钮创建输入。

  • Createlinks − 创建基于路由表信息的链接。

  • Createforms − 创建可以回发到我们的操作或回发到不同控制器上的操作的表单标记。

序号 方法及说明
1

Action(String)

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

2

Action(String, Object)

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

3

Action(String, RouteValueDictionary)

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

4

Action(String, String)

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

5

Action(String, String, Object)

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

6

Action(String, String, RouteValueDictionary)

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

7

ActionLink(String, String)

重载。 (由 LinkExtensions 定义)

8

ActionLink(String, String, Object)

重载。 (由 LinkExtensions 定义)

9

ActionLink(String, String, Object, Object)

重载。 (由 LinkExtensions 定义)

10

ActionLink(String, String, RouteValueDictionary)

重载。 (由 LinkExtensions 定义)

11

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

重载。 (由 LinkExtensions 定义)

12

ActionLink(String, String, String)

重载。 (由 LinkExtensions 定义)

13

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

重载。 (由 LinkExtensions 定义)

14

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

重载。 (由 LinkExtensions 定义)

15

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

重载。 (由 LinkExtensions 定义)

16

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

重载。 (由 LinkExtensions 定义)

17

BeginForm()

重载。 将开始 <form> 标签写入响应。 表单使用POST方法,请求由视图的action方法处理。 (由 FormExtensions 定义)

18

BeginForm(Object)

重载。 将开始 <form> 标签写入响应并在操作属性中包含路由值。 表单使用POST方法,请求由视图的action方法处理。 (由 FormExtensions 定义)

19

BeginForm(RouteValueDictionary)

重载。 将开始 <form> 标签写入响应,并将路由值字典中的路由值包含在操作属性中。 表单使用POST方法,请求由视图的action方法处理。 (由 FormExtensions 定义。)

20

BeginForm(String, String)

重载。 将开始 <form> 标签写入响应并将操作标记设置为指定的控制器和操作。 该表单使用 POST 方法。 (由 FormExtensions 定义)

21

BeginForm(String, String, FormMethod)

重载。 将开始 <form> 标签写入响应并将操作标记设置为指定的控制器和操作。 该表单使用指定的 HTTP 方法。 (由 FormExtensions 定义)

22

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

重载。 将开始 <form> 标签写入响应并将操作标记设置为指定的控制器和操作。 该表单使用指定的 HTTP 方法并包含字典中的 HTML 属性。 (由 FormExtensions 定义)

23

BeginForm(String, String, FormMethod, Object)

重载。 将开始 <form> 标签写入响应并将操作标记设置为指定的控制器和操作。 该表单使用指定的 HTTP 方法并包含 HTML 属性。 (由 FormExtensions 定义)

24

BeginForm(String, String, Object)

重载。 将开始 <form> 标签写入响应,并将操作标记设置为指定的控制器、操作和路由值。 该表单使用 POST 方法。 (由 FormExtensions 定义)

25

BeginForm(String, String, Object, FormMethod)

重载。 将开始 <form> 标签写入响应并将操作标记设置为指定的控制器、操作和路由值。 该表单使用指定的 HTTP 方法。 (由 FormExtensions 定义)

26

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

重载。 将开始 <form> 标签写入响应并将操作标记设置为指定的控制器、操作和路由值。 该表单使用指定的 HTTP 方法并包含 HTML 属性。 (由 FormExtensions 定义)

27

BeginForm(String, String, RouteValueDictionary)

重载。 将开始 <form> 标签写入响应,并将操作标记设置为指定的控制器、操作以及路由值字典中的路由值。 该表单使用 POST 方法。 (由 FormExtensions 定义)

28

BeginForm(String, String, RouteValueDictionary, FormMethod)

重载。 将开始 <form> 标签写入响应,并将操作标记设置为指定的控制器、操作以及路由值字典中的路由值。 该表单使用指定的 HTTP 方法。 (由 FormExtensions 定义)

29

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

重载。 将开始 <form> 标签写入响应,并将操作标记设置为指定的控制器、操作以及路由值字典中的路由值。 该表单使用指定的 HTTP 方法,并包含字典中的 HTML 属性。 (由 FormExtensions 定义)

30

BeginRouteForm(Object)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

31

BeginRouteForm(RouteValueDictionary)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

32

BeginRouteForm(String)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

33

BeginRouteForm(String, FormMethod)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

34

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

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

35

BeginRouteForm(String, FormMethod, Object)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

36

BeginRouteForm(String, Object)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

37

BeginRouteForm(String, Object, FormMethod)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

38

BeginRouteForm(String, Object, FormMethod, Object)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

39

BeginRouteForm(String, RouteValueDictionary)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

40

BeginRouteForm(String, RouteValueDictionary, FormMethod)

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

41

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

重载。 将开始 <form> 标签写入响应。 当用户提交表单时,请求将由路由目标处理。 (由 FormExtensions 定义)

42

CheckBox(String)

重载。 使用指定的 HTML 帮助器和表单字段的名称返回复选框输入元素。 (由InputExtensions定义)

43

CheckBox(String, Boolean)

重载。 使用指定的 HTML 帮助程序、表单字段的名称以及指示是否选中复选框的值返回复选框输入元素。 (由InputExtensions定义)

44

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、指示复选框是否选中的值以及 HTML 属性返回复选框输入元素。 (由InputExtensions定义)

45

CheckBox(String, Boolean, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称、指示复选框是否选中的值以及 HTML 属性返回复选框输入元素。 (由InputExtensions定义)

46

CheckBox(String, IDictionary<String, Object>)

重载。 使用指定的 HTML 帮助器、表单字段的名称和 HTML 属性返回复选框输入元素。 (由InputExtensions定义)

47

CheckBox(String, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称和 HTML 属性返回复选框输入元素。 (由InputExtensions定义)

48

Display(String)

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

49

Display(String, Object)

重载。 使用附加视图数据,返回由字符串表达式表示的对象中每个属性的 HTML 标签。 (由 DisplayExtensions 定义)

50

Display(String, String)

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

51

Display(String, String, Object)

重载。 使用指定的模板和附加视图数据,返回表达式表示的对象中每个属性的 HTML 标签。 (由 DisplayExtensions 定义)

52

Display(String, String, String)

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

53

Display(String, String, String, Object)

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

54

DisplayForModel()

重载。 返回模型中每个属性的 HTML 标签。 (由 DisplayExtensions 定义)

55

DisplayForModel(Object)

重载。 使用附加视图数据返回模型中每个属性的 HTML 标签。 (由 DisplayExtensions 定义)

56

DisplayForModel(String)

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

57

DisplayForModel(String, Object)

重载。 使用指定的模板和附加视图数据返回模型中每个属性的 HTML 标签。 (由 DisplayExtensions 定义)

58

DisplayForModel(String, String)

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

59

DisplayForModel(String, String, Object)

重载。 使用指定的模板、HTML 字段 ID 和其他视图数据,返回模型中每个属性的 HTML 标签。 (由 DisplayExtensions 定义)

60

DisplayName(String)

获取显示名称。 (由 DisplayNameExtensions 定义)

61

DisplayNameForModel()

获取模型的显示名称。 (由 DisplayNameExtensions 定义)

62

DisplayText(String)

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

63

DropDownList(String)

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

64

DropDownList(String, IEnumerable<SelectListItem>)

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

65

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

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

66

DropDownList(String, IEnumerable<SelectListItem>, Object)

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

67

DropDownList(String, IEnumerable<SelectListItem>, String)

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

68

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

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

69

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

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

70

DropDownList(String, String)

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

71

Editor(String)

重载。 为表达式表示的对象中的每个属性返回一个 HTML 输入元素。 (由 EditorExtensions 定义)

72

Editor(String, Object)

重载。 使用附加视图数据,为表达式表示的对象中的每个属性返回一个 HTML 输入元素。 (由 EditorExtensions 定义)

73

Editor(String, String)

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

74

Editor(String, String, Object)

重载。 使用指定的模板和附加视图数据,为表达式表示的对象中的每个属性返回一个 HTML 输入元素。 (由 EditorExtensions 定义)

75

Editor(String, String, String)

重载。 使用指定的模板和 HTML 字段名称,为表达式表示的对象中的每个属性返回 HTML 输入元素。 (由 EditorExtensions 定义)

76

Editor(String, String, String, Object)

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

77

EditorForModel()

重载。 返回模型中每个属性的 HTML 输入元素。 (由 EditorExtensions 定义)

78

EditorForModel(Object)

重载。 使用附加视图数据返回模型中每个属性的 HTML 输入元素。 (由 EditorExtensions 定义)

79

EditorForModel(String)

重载。 使用指定的模板返回模型中每个属性的 HTML 输入元素。 (由 EditorExtensions 定义)

80

EditorForModel(String, Object)

重载。 使用指定的模板和附加视图数据,返回模型中每个属性的 HTML 输入元素。 (由 EditorExtensions 定义)

81

EditorForModel(String, String)

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

82

EditorForModel(String, String, Object)

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

83

EndForm()

将结束 </form> 标签呈现给响应。 (由 FormExtensions 定义)

84

Hidden(String)

重载。 使用指定的 HTML 帮助器和表单字段的名称返回隐藏的输入元素。 (由InputExtensions定义)

85

Hidden(String, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称和值返回隐藏的输入元素。 (由InputExtensions定义)

86

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、值和 HTML 属性返回隐藏的输入元素。 (由InputExtensions定义)

87

Hidden(String, Object, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称、值和 HTML 属性返回隐藏的输入元素。 (由InputExtensions定义)

88

Id(String)

获取 HtmlHelper 字符串的 ID。 (由名称扩展定义)

89

IdForModel()

获取 HtmlHelper 字符串的 ID。 (由名称扩展定义)

90

Label(String)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

91

Label(String, IDictionary<String, Object>)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

92

Label(String, Object)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

93

Label(String, String)

重载。 返回 HTML 标签元素以及由使用标签文本的指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

94

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

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

95

Label(String, String, Object)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

96

LabelForModel()

重载。 返回 HTML 标签元素和模型表示的属性的属性名称。 (由 LabelExtensions 定义)

97

LabelForModel(IDictionary<String, Object>)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

98

LabelForModel(Object)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

99

LabelForModel(String)

重载。 返回 HTML 标签元素以及由使用标签文本的指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

100

LabelForModel(String, IDictionary<String, Object>)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

101

LabelForModel(String, Object)

重载。 返回 HTML 标签元素以及由指定表达式表示的属性的属性名称。 (由 LabelExtensions 定义)

102

ListBox(String)

重载。 使用指定的 HTML 帮助器和表单字段的名称返回多选选择元素。 (由SelectExtensions定义)

103

ListBox(String, IEnumerable<SelectListItem>)

重载。 使用指定的 HTML 帮助器、表单字段的名称和指定的列表项返回多选选择元素。 (由SelectExtensions定义)

104

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、指定的列表项和指定的 HMTL 属性返回多选选择元素。 (由SelectExtensions定义)

105

ListBox(String, IEnumerable<SelectListItem>, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称和指定的列表项返回多选选择元素。 (由SelectExtensions定义)

106

Name(String)

获取表达式所表示的对象的完整 HTML 字段名称。 (由名称扩展定义)

107

NameForModel()

获取表达式所表示的对象的完整 HTML 字段名称。 (由名称扩展定义。)

108

Partial(String)

重载。 将指定的局部视图呈现为 HTML 编码字符串。 (由 PartialExtensions 定义)

109

Partial(String, Object)

重载。 将指定的局部视图呈现为 HTML 编码字符串。 (由 PartialExtensions 定义)

110

Partial(String, Object, ViewDataDictionary)

重载。 将指定的局部视图呈现为 HTML 编码字符串。 (由 PartialExtensions 定义)

111

Partial(String, ViewDataDictionary)

重载。 将指定的局部视图呈现为 HTML 编码字符串。 (由 PartialExtensions 定义)

112

Password(String)

重载。 使用指定的 HTML 帮助程序和表单字段的名称返回密码输入元素。 (由InputExtensions定义)

113

Password(String, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称和值返回密码输入元素。 (由InputExtensions定义)

114

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、值和 HTML 属性返回密码输入元素。 (由InputExtensions定义)

115

Password(String, Object, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称、值和 HTML 属性返回密码输入元素。 (由InputExtensions定义)

116

RadioButton(String, Object)

重载。 返回一个单选按钮输入元素,用于呈现互斥的选项。 (由InputExtensions定义)

117

RadioButton(String, Object, Boolean)

重载。 返回一个单选按钮输入元素,用于呈现互斥的选项。 (由InputExtensions定义)

118

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

重载。 返回一个单选按钮输入元素,用于呈现互斥的选项。 (由InputExtensions定义)

119

RadioButton(String, Object, Boolean, Object)

重载。 返回一个单选按钮输入元素,用于呈现互斥的选项。 (由InputExtensions定义)

120

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

重载。 返回一个单选按钮输入元素,用于呈现互斥的选项。 (由InputExtensions定义)

121

RadioButton(String, Object, Object)

重载。 返回一个单选按钮输入元素,用于呈现互斥的选项。 (由InputExtensions定义)

122

RenderAction(String)

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

123

RenderAction(String, Object)

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

124

RenderAction(String, RouteValueDictionary)

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

125

RenderAction(String, String)

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

126

RenderAction(String, String, Object)

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

127

RenderAction(String, String, RouteValueDictionary)

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

128

RenderPartial(String)

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

129

RenderPartial(String, Object)

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

130

RenderPartial(String, Object, ViewDataDictionary)

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

131

RenderPartial(String, ViewDataDictionary)

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

132

RouteLink(String, Object)

重载。 (由 LinkExtensions 定义)

133

RouteLink(String, Object, Object)

重载。 (由 LinkExtensions 定义)

134

RouteLink(String, RouteValueDictionary)

重载。 (由 LinkExtensions 定义)

135

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

重载。 (由 LinkExtensions 定义)

136

RouteLink(String, String)

重载。 (由 LinkExtensions 定义)

137

RouteLink(String, String, Object)

重载。 (由 LinkExtensions 定义)

138

RouteLink(String, String, Object, Object)

重载。 (由 LinkExtensions 定义)

139

RouteLink(String, String, RouteValueDictionary)

重载。 (由 LinkExtensions 定义)

140

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

重载。 (由 LinkExtensions 定义)

141

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

重载。 (由 LinkExtensions 定义)

142

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

重载。 (由 LinkExtensions 定义)

143

TextArea(String)

重载。 使用指定的 HTML 帮助器和表单字段的名称返回指定的 textarea 元素。 (由 TextAreaExtensions 定义。)

144

TextArea(String, IDictionary<String, Object>)

重载。 使用指定的 HTML 帮助器、表单字段的名称和指定的 HTML 属性返回指定的 textarea 元素。 (由 TextAreaExtensions 定义)

145

TextArea(String, Object)

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

146

TextArea(String, String)

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

147

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、文本内容和指定的 HTML 属性返回指定的 textarea 元素。 (由 TextAreaExtensions 定义)

148

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、文本内容、行数和列数以及指定的 HTML 属性返回指定的 textarea 元素。 (由 TextAreaExtensions 定义)

149

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、文本内容、行数和列数以及指定的 HTML 属性返回指定的 textarea 元素。 (由 TextAreaExtensions 定义)

150

TextArea(String, String, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称、文本内容和指定的 HTML 属性返回指定的 textarea 元素。 (由 TextAreaExtensions 定义)

151

TextBox(String)

重载。 使用指定的 HTML 帮助器和表单字段的名称返回文本输入元素。 (由InputExtensions定义)

152

TextBox(String, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称和值返回文本输入元素。 (由InputExtensions定义)

153

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

重载。 使用指定的 HTML 帮助器、表单字段的名称、值和 HTML 属性返回文本输入元素。 (由InputExtensions定义)

154

TextBox(String, Object, Object)

重载。 使用指定的 HTML 帮助器、表单字段的名称、值和 HTML 属性返回文本输入元素。 (由InputExtensions定义)

155

TextBox(String, Object, String)

重载。 返回文本输入元素。 (由InputExtensions定义)

156

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

重载。 返回文本输入元素。 (由InputExtensions定义)

157

TextBox(String, Object, String, Object)

重载。 返回文本输入元素。 (由InputExtensions定义)

158

Validate(String)

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

159

ValidationMessage(String)

重载。 如果 ModelStateDictionary 对象中的指定字段存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

160

ValidationMessage(String, IDictionary<String, Object>)

重载。 如果 ModelStateDictionary 对象中的指定字段存在错误,则显示验证消息。 (由 ValidationExtensions 定义。)

161

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

重载。 如果 ModelStateDictionary 对象中的指定条目存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

162

ValidationMessage(String, Object)

重载。 如果 ModelStateDictionary 对象中的指定字段存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

163

ValidationMessage(String, Object, String)

重载。 如果 ModelStateDictionary 对象中的指定条目存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

164

ValidationMessage(String, String)

重载。 如果 ModelStateDictionary 对象中的指定字段存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

165

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

重载。 如果 ModelStateDictionary 对象中的指定字段存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

166

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

重载。 如果 ModelStateDictionary 对象中的指定条目存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

167

ValidationMessage(String, String, Object)

重载。 如果 ModelStateDictionary 对象中的指定字段存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

168

ValidationMessage(String, String, Object, String)

重载。 如果 ModelStateDictionary 对象中的指定条目存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

169

ValidationMessage(String, String, String)

重载。 如果 ModelStateDictionary 对象中的指定条目存在错误,则显示验证消息。 (由 ValidationExtensions 定义)

170

ValidationSummary()

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

171

ValidationSummary(Boolean)

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

172

ValidationSummary(Boolean, String)

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

173

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

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

174

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

重载。 (由 ValidationExtensions 定义)

175

ValidationSummary(Boolean, String, Object)

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

176

ValidationSummary(Boolean, String, Object, String)

重载。 (由 ValidationExtensions 定义)

177

ValidationSummary(Boolean, String, String)

重载。 (由 ValidationExtensions 定义)

178

ValidationSummary(String)

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

179

ValidationSummary(String, IDictionary<String, Object>)

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

180

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

重载。 (由 ValidationExtensions 定义)

181

ValidationSummary(String, Object)

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

182

ValidationSummary(String, Object, String)

重载。 (由 ValidationExtensions 定义)

183

ValidationSummary(String, String)

重载。 (由 ValidationExtensions 定义)

184

Value(String)

重载。 提供一种机制来创建与 ASP.NET MVC 模型绑定程序和模板兼容的自定义 HTML 标签。 (由 ValueExtensions 定义)

185

Value(String, String)

重载。 提供一种机制来创建与 ASP.NET MVC 模型绑定程序和模板兼容的自定义 HTML 标签。 (由 ValueExtensions 定义)

186

ValueForModel()

重载。 提供一种机制来创建与 ASP.NET MVC 模型绑定程序和模板兼容的自定义 HTML 标签。 (由 ValueExtensions 定义)

187

ValueForModel(String)

重载。 提供一种机制来创建与 ASP.NET MVC 模型绑定程序和模板兼容的自定义 HTML 标签。 (由 ValueExtensions 定义)

如果您查看上一章中我们从 EmployeeController 索引操作生成的视图,您将看到以 Html 开头的操作数,例如 Html.ActionLinkHtml.DisplayNameFor 等,如以下代码所示。

@model IEnumerable<MVCSimpleApp.Models.Employee>
@{
   Layout = null;
} 

<!DOCTYPE html>
<html>
   <head>
      <meta name = "viewport" content = "width = device-width" />
      <title>Index</title>
   </head>
	
   <body>
      <p>
         @Html.ActionLink("Create New", "Create")
      </p>
		
      <table class = "table">
         <tr>
            <th>
               @Html.DisplayNameFor(model => model.Name)
            </th>
				
            <th>
               @Html.DisplayNameFor(model => model.JoiningDate)
            </th>
				
            <th>
               @Html.DisplayNameFor(model => model.Age)
            </th>
				
            <th></th>
         </tr>
			
         @foreach (var item in Model) {
            <tr>
               <td>
                  @Html.DisplayFor(modelItem => item.Name)
               </td>
					
               <td>
                  @Html.DisplayFor(modelItem => item.JoiningDate)
               </td>
					
               <td>
                  @Html.DisplayFor(modelItem => item.Age)
               </td>
					
               <td>
                  @Html.ActionLink("Edit", "Edit", new { id = item.ID }) |
                  @Html.ActionLink("Details", "Details", new { id = item.ID }) |
                  @Html.ActionLink("Delete", "Delete", new { id = item.ID })
               </td>
            </tr>
         }
			
      </table>
   </body>
</html>

此 HTML 是我们从 ViewPage 基类继承的属性。 因此,它在我们的所有视图中都可用,并且返回一个名为 HTML Helper 的类型的实例。

让我们看一个简单的示例,在该示例中我们将允许用户编辑员工。 因此,此编辑操作将使用大量不同的 HTML 帮助程序。

如果您查看上面的代码,您将在末尾看到以下 HTML Helper 方法

@Html.ActionLink("Edit", "Edit", new { id = item.ID })

在 ActionLink 帮助器中,第一个参数是链接的"Edit",第二个参数是控制器中的操作方法,也是"Edit",第三个参数 ID 是您的任何特定员工的 ID 想要编辑。

让我们通过添加静态列表来更改 EmployeeController 类,并使用以下代码更改索引操作。

public static List<Employee> empList = new List<Employee>{
   new Employee{
      ID = 1,
      Name = "Allan",
      JoiningDate = DateTime.Parse(DateTime.Today.ToString()),
      Age = 23
   },
	
   new Employee{
      ID = 2,
      Name = "Carson",
      JoiningDate = DateTime.Parse(DateTime.Today.ToString()),
      Age = 45
   },
	
   new Employee{
      ID = 3,
      Name = "Carson",
      JoiningDate = DateTime.Parse(DateTime.Today.ToString()),
      Age = 37
   },
	
   new Employee{
      ID = 4,
      Name = "Laura",
      JoiningDate = DateTime.Parse(DateTime.Today.ToString()),
      Age = 26
   },
	
};

public ActionResult Index(){
   var employees = from e in empList
   orderby e.ID
   select e;
   return View(employees);
}

让我们更新编辑操作。 您将看到两个编辑操作,一个用于GET,一个用于POST。 让我们更新 Get 的编辑操作,该操作的参数中只有 Id,如以下代码所示。

// GET: Employee/Edit/5
public ActionResult Edit(int id){
   List<Employee> empList = GetEmployeeList();
   var employee = empList.Single(m => m.ID == id);
   return View(employee);
}

现在,我们知道我们有编辑操作,但我们没有这些操作的任何视图。 所以我们还需要添加一个视图。 为此,请右键单击"编辑"操作并选择"添加视图"。

右键单击编辑操作

您将看到视图的默认名称。 从"模板"下拉列表中选择"编辑",从"模型类"下拉列表中选择"员工"。

以下是编辑视图中的默认实现。

@model MVCSimpleApp.Models.Employee
@{
   Layout = null;
}

<!DOCTYPE html>
<html>
   <head>
      <meta name = "viewport" content = "width = device-width" />
      <title>Edit</title>
   </head>
	
   <body>
      @using (Html.BeginForm()){
         @Html.AntiForgeryToken()
         <div class = "form-horizontal">
            <h4>Employee</h4>
            <hr />
            @Html.ValidationSummary(
               true, "", new { @class = "text-danger" })
					
            @Html.HiddenFor(model => model.ID)
				
            <div class = "form-group">
               @Html.LabelFor(
                  model => model.Name, htmlAttributes: new{
                     @class = "control-label col-md-2" })
							
               <div class = "col-md-10">
                  @Html.EditorFor(model => model.Name, new{
                     htmlAttributes = new {
                        @class = "form-control" } })
								
                  @Html.ValidationMessageFor(model => model.Name, "", new{
                        @class = "text-danger" })
               </div>
					
            </div>
				
            <div class = "form-group">
               @Html.LabelFor(
                  model => model.JoiningDate, htmlAttributes: new{
                     @class = "control-label col-md-2" })
							
               <div class = "col-md-10">
                  @Html.EditorFor(
                     model => model.JoiningDate, new{
                        htmlAttributes = new{ @class = "form-control" } })
								
                  @Html.ValidationMessageFor(
                     model => model.JoiningDate, "", new{
                        @class = "text-danger" })
               </div>
					
            </div>
				
            <div class = "form-group">
               @Html.LabelFor(
                  model => model.Age, htmlAttributes: new{
                     @class = "control-label col-md-2" })
							
               <div class = "col-md-10">
                  @Html.EditorFor(
                     model => model.Age, new{
                        htmlAttributes = new{ @class = "form-control" } })
								
                  @Html.ValidationMessageFor(
                     model => model.Age, "", new{
                        @class = "text-danger" })
               </div>
					
            </div>
				
            <div class = "form-group">
               <div class = "col-md-offset-2 col-md-10">
                  <input type = "submit" value = "Save" class = "btn btn-default"/>
               </div>
            </div>
				
         </div>
      }
		
      <div>
         @Html.ActionLink("Back to List", "Index")
      </div>
		
   </body>
</html>

正如您所看到的,使用了许多辅助方法。 因此,这里"HTML.BeginForm"写入了一个打开的表单标签。 它还确保当用户单击"保存"按钮时该方法将是"Post"。

Html.BeginForm 非常有用,因为它使您能够更改 URL、更改方法等。

在上面的代码中,您将看到另外一个 HTML 帮助器,那就是"@HTML.HiddenFor",它会发出隐藏字段。

MVC 框架足够聪明,可以发现模型类中提到了这个 ID 字段,因此需要防止它被编辑,这就是它被标记为隐藏的原因。

Html.LabelFor HTML Helper 在屏幕上创建标签。 如果在进行更改时输入错误,Html.ValidationMessageFor 帮助程序会显示正确的错误消息。

我们还需要更改 POST 的编辑操作,因为一旦您更新了员工,它就会调用此操作。

// POST: Employee/Edit/5
[HttpPost]
public ActionResult Edit(int id, FormCollection collection){
   try{
      var employee = empList.Single(m => m.ID == id);
      if (TryUpdateModel(employee)){
         //To Do:- database code
         return RedirectToAction("Index");
      }
      return View(employee);
   }catch{
      return View();
   }
}

让我们运行此应用程序并请求以下 URL http://localhost:63004/employee。 您将收到以下输出。

Localhost Employee

单击任何特定员工的编辑链接,假设单击 Allan 编辑链接。 您将看到以下视图。

单击特定员工

让我们将年龄从 23 更改为 29,然后单击"保存"按钮,然后您将在索引视图中看到更新后的年龄。

更新的年龄指数视图