在 ASP.NET MVC 中使用 HTML Helpers 方法,可以返回得到标准的 HTML 标签,就像 <input>、<button> 或者 <img> 等等。
同样,你也可以创建自己的 HTML Helpers 方法,生成更加复杂的 HTML 内容。
几种不同类型的 HTML Helpers
从以下三种类型去考察 HTML Helpers 的创建和使用
01 在 View 中创建并重复使用
1 @helper ListingItems(string[] items) 2 { 3 <ul> 4 @foreach (string item in items) 5 { 6 <li>@item</li> 7 } 8 </ul> 9 } 10 11 <h3>Programming Languages:</h3> 12 @ListingItems(new string[] { "C", "C++", "C#" }) 13 14 <h3>Book List:</h3> 15 @ListingItems(new string[] { "How to C", "how to C++", "how to C#" })
使用 Razor @helper 在 View 中创建 ListingItems,但只能在同一个 View 中重复使用。
02 内置的 HTML Helper 方法
内置的 HTML Helper 方法是 HtmlHelper class 的扩展方法,可以划分成三种不同的使用:
02.1 标准的 HTML Helper 方法
这种,用来生成常规的 HTML 元素,参见下表
HTML Element | Example |
TextBox | @Html.TextBox("Textbox1", "val") Output: <input id="Textbox1" name="Textbox1" type="text" value="val" /> |
TextArea |
@Html.TextArea("Textarea1", "val", 5, 15, null)
|
Password |
@Html.Password("Password1", "val")
|
Hidden Field |
@Html.Hidden("Hidden1", "val")
|
CheckBox |
@Html.CheckBox("Checkbox1", false)
|
RadioButton |
@Html.RadioButton("Radiobutton1", "val", true)
|
Drop-down list |
@Html.DropDownList (“DropDownList1”, new SelectList(new [] {"Male", "Female"}))
|
Multiple-select |
Html.ListBox(“ListBox1”, new MultiSelectList(new [] {"Cricket", "Chess"}))
|
02.2 强类型的 HTML Helper 方法
这种,基于model属性来创建常规的 HTML 元素容,可以使用 lambda 表达式,参见下表