自定义
inline
使用Razior
语法
@helper ListArrayItems(string[] items) {
foreach(string str in items) {
<b>@str </b>
}
}
external
使用扩展方法
using System.Web.Mvc;
namespace HelperMethods.Infrastructure {
public static class CustomHelpers {
public static MvcHtmlString ListArrayItems(this HtmlHelper html,
string[] list) {
TagBuilder tag = new TagBuilder("ul");
foreach(string str in list) {
TagBuilder itemTag = new TagBuilder("li");
itemTag.SetInnerText(str);
tag.InnerHtml += itemTag.ToString();
}
return new MvcHtmlString(tag.ToString());
}
}
}
内置
Basic Input HTML Helpers
形式如下:
Html.Password("myPassword", "val")
输出:
<input id="myPassword" name="myPassword" type="password" value="val" />
字符串形式的参数用于按照ViewData
,ViewBag
,View Model的搜索顺序从中获取数据项。
Strongly typed HTML Helpers
其形式如下:
Html.PasswordFor(x => x.Password)
输出:
<input id="Password" name="Password" type="password" />
强类型检查避免出错的同时,但也只适用于强类型视图。