ASP.NET MVC TagBuilder使用

libingql發表於2014-03-26

  ASP.NET MVC在需要進行新建HTML輔助方法時,可以來使用TagBuilder類。

  TagBuilder類常用方法:

方法名稱說明
AddCssClass() 可在卷標中新增一個新的Class屬性
GenerateId() 可賦予ID屬性。預設情況將ID內的"."轉換為"_"
MergeAttribute() 可在卷標內新增屬性
SetInnerText() 可新增標籤區塊內的文字,並會自動進行編碼
ToString() 建立標籤,可以過載,可指定建立一個正常的卷標、一個開始卷標、一個結尾標籤和一個自我結束標籤

  TagBuilder類常用屬性:

屬性名稱說明
Attributes 表示此卷標的所有屬性
IdAttributeDotReplacement 表示用GenerateId()方法來替換".",預設替換為"_"
InnerHtml 表示卷標的內容,可以通過匯入字串來生成,但利用此方法的字串並不會被編碼
TagName 表示此標籤的名稱

  示例:

public static string Label(this HtmlHelper helper, string id,string title,object htmlAttributes)
{
    TagBuilder builder = new TagBuilder("label");
    builder.GenerateId(id);
    builder.MergeAttribute("title", title);
    builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));

    return builder.ToString(TagRenderMode.SelfClosing);
}

相關文章