ASP.NET MVC - 帮助程序


在 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

动作(字符串)

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

2

动作(字符串,对象)

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

3

操作(字符串,RouteValueDictionary)

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

4

动作(字符串,字符串)

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

5

动作(字符串、字符串、对象)

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

6

操作(字符串、字符串、RouteValueDictionary)

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

7

动作链接(字符串,字符串)

超载。(由 LinkExtensions 定义)

8

ActionLink(字符串、字符串、对象)

超载。(由 LinkExtensions 定义)

9

ActionLink(字符串,字符串,对象,对象)

超载。(由 LinkExtensions 定义)

10

ActionLink(字符串,字符串,RouteValueDictionary)

超载。(由 LinkExtensions 定义)

11

ActionLink(字符串,字符串,RouteValueDictionary,IDictionary<字符串,对象>)

超载。(由 LinkExtensions 定义)

12

ActionLink(字符串,字符串,字符串)

超载。(由 LinkExtensions 定义)

13

ActionLink(字符串,字符串,字符串,对象,对象)

超载。(由 LinkExtensions 定义)

14

ActionLink(字符串,字符串,字符串,RouteValueDictionary,IDictionary <字符串,对象>)

超载。(由 LinkExtensions 定义)

15

ActionLink(字符串,字符串,字符串,字符串,字符串,字符串,对象,对象)

超载。(由 LinkExtensions 定义)

16

ActionLink(字符串、字符串、字符串、字符串、字符串、字符串、RouteValueDictionary、IDictionary<字符串、对象>)

超载。(由 LinkExtensions 定义)

17 号

开始表格()

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

18

开始表单(对象)

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

19

BeginForm(路由值字典)

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

20

开始形式(字符串,字符串)

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

21

BeginForm(字符串,字符串,FormMethod)

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

22

BeginForm(字符串,字符串,FormMethod,IDictionary<字符串,对象>)

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

23

BeginForm(字符串,字符串,FormMethod,对象)

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

24

BeginForm(字符串,字符串,对象)

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

25

BeginForm(字符串,字符串,对象,FormMethod)

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

26

BeginForm(字符串,字符串,对象,FormMethod,对象)

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

27

BeginForm(字符串,字符串,RouteValueDictionary)

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

28

BeginForm(字符串,字符串,RouteValueDictionary,FormMethod)

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

29

BeginForm(字符串,字符串,RouteValueDictionary,FormMethod,IDictionary <字符串,对象>)

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

30

开始路由表单(对象)

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

31

BeginRouteForm(RouteValueDictionary)

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

32

开始路线形式(字符串)

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

33

BeginRouteForm(字符串,FormMethod)

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

34

BeginRouteForm(字符串,FormMethod,IDictionary <字符串,对象>)

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

35

BeginRouteForm(字符串,FormMethod,对象)

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

36

BeginRouteForm(字符串,对象)

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

37

BeginRouteForm(字符串,对象,FormMethod)

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

38

BeginRouteForm(字符串,对象,FormMethod,对象)

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

39

BeginRouteForm(字符串,RouteValueDictionary)

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

40

BeginRouteForm(字符串,RouteValueDictionary,FormMethod)

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

41

BeginRouteForm(字符串,RouteValueDictionary,FormMethod,IDictionary <字符串,对象>)

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

42

复选框(字符串)

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

43

复选框(字符串,布尔值)

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

44

复选框(字符串、布尔值、IDictionary<字符串、对象>)

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

45

复选框(字符串、布尔值、对象)

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

46

复选框(字符串,IDictionary<字符串,对象>)

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

47

复选框(字符串,对象)

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

48

显示(字符串)

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

49

显示(字符串、对象)

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

50

显示(字符串,字符串)

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

51

显示(字符串、字符串、对象)

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

52

显示(字符串,字符串,字符串)

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

53

显示(字符串,字符串,字符串,对象)

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

54

DisplayForModel()

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

55

DisplayForModel(对象)

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

56

DisplayForModel(字符串)

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

57

DisplayForModel(字符串,对象)

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

58

DisplayForModel(字符串,字符串)

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

59

DisplayForModel(字符串,字符串,对象)

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

60

显示名称(字符串)

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

61

显示模型名称()

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

62

显示文本(字符串)

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

63

下拉列表(字符串)

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

64

DropDownList(字符串, IEnumerable<SelectListItem>)

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

65

DropDownList(字符串, IEnumerable<SelectListItem>, IDictionary<字符串, 对象>)

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

66

DropDownList(字符串,IEnumerable<SelectListItem>,对象)

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

67

DropDownList(字符串, IEnumerable<SelectListItem>, 字符串)

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

68

DropDownList(字符串, IEnumerable<SelectListItem>, 字符串, IDictionary<字符串, 对象>)

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

69

DropDownList(字符串,IEnumerable<SelectListItem>,字符串,对象)

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

70

下拉列表(字符串,字符串)

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

71

编辑器(字符串)

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

72

编辑器(字符串、对象)

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

73

编辑器(字符串,字符串)

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

74

编辑器(字符串、字符串、对象)

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

75

编辑器(字符串,字符串,字符串)

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

76

编辑器(字符串,字符串,字符串,对象)

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

77

EditorForModel()

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

78

模型编辑器(对象)

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

79

模型编辑器(字符串)

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

80

EditorForModel(字符串,对象)

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

81

EditorForModel(字符串,字符串)

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

82

EditorForModel(字符串,字符串,对象)

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

83

结束表格()

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

84

隐藏(字符串)

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

85

隐藏(字符串,对象)

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

86

隐藏(字符串,对象,IDictionary<字符串,对象>)

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

87

隐藏(字符串、对象、对象)

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

88

编号(字符串)

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

89

IdForModel()

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

90

标签(字符串)

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

91

标签(字符串,IDictionary<字符串,对象>)

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

92

标签(字符串,对象)

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

93

标签(字符串,字符串)

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

94

标签(字符串、字符串、IDictionary<字符串、对象>)

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

95

标签(字符串、字符串、对象)

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

96

模型标签()

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

97

LabelForModel(IDictionary<字符串,对象>)

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

98

模型标签(对象)

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

99

模型标签(字符串)

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

100

LabelForModel(字符串, IDictionary<字符串, 对象>)

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

101

LabelForModel(字符串,对象)

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

102

列表框(字符串)

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

103

ListBox(字符串, IEnumerable<SelectListItem>)

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

104

ListBox(字符串, IEnumerable<SelectListItem>, IDictionary<字符串, 对象>)

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

105

ListBox(字符串, IEnumerable<SelectListItem>, 对象)

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

106

名称(字符串)

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

107

模型名称()

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

108

部分(字符串)

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

109

部分(字符串,对象)

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

110

部分(字符串、对象、ViewDataDictionary)

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

111

部分(字符串,ViewDataDictionary)

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

112

密码(字符串)

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

113

密码(字符串,对象)

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

114

密码(字符串、对象、IDictionary<字符串、对象>)

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

115

密码(字符串、对象、对象)

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

116

单选按钮(字符串,对象)

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

117

单选按钮(字符串、对象、布尔值)

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

118

RadioButton(字符串、对象、布尔值、IDictionary<字符串、对象>)

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

119

单选按钮(字符串、对象、布尔值、对象)

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

120

单选按钮(字符串,对象,IDictionary<字符串,对象>)

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

121

单选按钮(字符串、对象、对象)

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

122

渲染动作(字符串)

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

123

渲染操作(字符串,对象)

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

124

RenderAction(字符串,RouteValueDictionary)

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

125

渲染操作(字符串,字符串)

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

126

渲染操作(字符串、字符串、对象)

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

127

RenderAction(字符串,字符串,RouteValueDictionary)

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

128

渲染部分(字符串)

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

129

渲染部分(字符串,对象)

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

130

RenderPartial(字符串,对象,ViewDataDictionary)

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

131

RenderPartial(字符串,ViewDataDictionary)

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

132

RouteLink(字符串,对象)

超载。(由 LinkExtensions 定义)

133

RouteLink(字符串,对象,对象)

超载。(由 LinkExtensions 定义)

134

RouteLink(字符串,RouteValueDictionary)

超载。(由 LinkExtensions 定义)

135

RouteLink(字符串,RouteValueDictionary,IDictionary <字符串,对象>)

超载。(由 LinkExtensions 定义)

136

路线链接(字符串,字符串)

超载。(由 LinkExtensions 定义)

137

RouteLink(字符串,字符串,对象)

超载。(由 LinkExtensions 定义)

138

RouteLink(字符串,字符串,对象,对象)

超载。(由 LinkExtensions 定义)

139

RouteLink(字符串,字符串,RouteValueDictionary)

超载。(由 LinkExtensions 定义)

140

RouteLink(字符串,字符串,RouteValueDictionary,IDictionary<字符串,对象>)

超载。(由 LinkExtensions 定义)

141

RouteLink(字符串,字符串,字符串,字符串,字符串,对象,对象)

超载。(由 LinkExtensions 定义)

142

RouteLink(字符串,字符串,字符串,字符串,字符串,RouteValueDictionary,IDictionary<字符串,对象>)

超载。(由 LinkExtensions 定义)

143

文本区域(字符串)

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

144

TextArea(字符串,IDictionary<字符串,对象>)

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

145

文本区域(字符串,对象)

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

146

文本区域(字符串,字符串)

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

147

TextArea(字符串, 字符串, IDictionary<字符串, 对象>)

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

148

TextArea(字符串,字符串,Int32,Int32,IDictionary<字符串,对象>)

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

149

TextArea(字符串,字符串,Int32,Int32,对象)

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

150

文本区域(字符串、字符串、对象)

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

151

文本框(字符串)

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

152

文本框(字符串,对象)

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

153

TextBox(字符串, 对象, IDictionary<字符串, 对象>)

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

154

文本框(字符串、对象、对象)

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

155

文本框(字符串、对象、字符串)

超载。返回文本输入元素。(由输入扩展定义)

156

TextBox(字符串、对象、字符串、IDictionary<字符串、对象>)

超载。返回文本输入元素。(由输入扩展定义)

157

文本框(字符串,对象,字符串,对象)

超载。返回文本输入元素。(由输入扩展定义)

158

验证(字符串)

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

159

验证消息(字符串)

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

160

ValidationMessage(字符串, IDictionary<字符串, 对象>)

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

161

ValidationMessage(字符串, IDictionary<字符串, 对象>, 字符串)

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

162

验证消息(字符串,对象)

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

163

验证消息(字符串、对象、字符串)

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

164

验证消息(字符串,字符串)

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

165

ValidationMessage(字符串, 字符串, IDictionary<字符串, 对象>)

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

166

ValidationMessage(字符串, 字符串, IDictionary<字符串, 对象>, 字符串)

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

167

验证消息(字符串、字符串、对象)

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

168

验证消息(字符串,字符串,对象,字符串)

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

169

验证消息(字符串,字符串,字符串)

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

170

验证摘要()

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

171

验证摘要(布尔值)

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

172

ValidationSummary(布尔值,字符串)

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

173

ValidationSummary(布尔值,字符串,IDictionary <字符串,对象>)

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

174

ValidationSummary(布尔值、字符串、IDictionary<字符串、对象>、字符串)

超载。(由 ValidationExtensions 定义)

175

ValidationSummary(布尔值、字符串、对象)

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

176

ValidationSummary(布尔值、字符串、对象、字符串)

超载。(由 ValidationExtensions 定义)

177

ValidationSummary(布尔值、字符串、字符串)

超载。(由 ValidationExtensions 定义)

178

验证摘要(字符串)

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

179

ValidationSummary(字符串,IDictionary<字符串,对象>)

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

180

ValidationSummary(字符串,IDictionary <字符串,对象>,字符串)

超载。(由 ValidationExtensions 定义)

181

ValidationSummary(字符串,对象)

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

182

ValidationSummary(字符串,对象,字符串)

超载。(由 ValidationExtensions 定义)

183

验证摘要(字符串,字符串)

超载。(由 ValidationExtensions 定义)

184

值(字符串)

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

185

值(字符串,字符串)

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

186

模型值()

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

187

模型值(字符串)

超载。提供一种机制来创建与 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 帮助器中,第一个参数是链接的“编辑”,第二个参数是控制器中的操作方法,也是“编辑”,第三个参数 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);
}

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

右键单击编辑操作

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

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

@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”写入了一个打开的表单标签。它还确保当用户单击“保存”按钮时该方法将是“发布”。

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。您将收到以下输出。

本地主机员工

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

单击特定员工

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

更新的年龄指数视图