自定義
inline
使用Razior
語法
@helper ListArrayItems(string[] items) {
foreach(string str in items) {
<b>@str </b>
}
}
external
使用擴(kuò)展方法
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());
}
}
}
內(nèi)置
Basic Input HTML Helpers
形式如下:
Html.Password("myPassword", "val")
輸出:
<input id="myPassword" name="myPassword" type="password" value="val" />
字符串形式的參數(shù)用于按照ViewData
,ViewBag
,View Model的搜索順序從中獲取數(shù)據(jù)項(xiàng)。
Strongly typed HTML Helpers
其形式如下:
Html.PasswordFor(x => x.Password)
輸出:
<input id="Password" name="Password" type="password" />
強(qiáng)類型檢查避免出錯的同時,但也只適用于強(qiáng)類型視圖别瞭。