我有一個用於我的ASP.NET MVC應用程序的Html Helper文件。他們大多數人只是返回一個格式化的字符串。ASP.NET MVC中的string.Format和TagBuilder之間有什麼區別?
這裏是我的格式化字符串的一個助手的例子:
public static string Label(this HtmlHelper helper, string @for, string text)
{
return string.Format("<label for \"{0}\">{1}</label>", @for, text);
}
這裏是一個TagBuilder版本,讓我與上述相同的結果:
public static string Label(this HtmlHelper helper, string @for, string text)
{
var builder = new TagBuilder("label");
builder.Attributes.Add("for", @for);
builder.SetInnerText(text);
return builder.ToString(TagRenderMode.Normal);
}
現在,幾個網站我從混合實現一直在閱讀/學習MVC。有的使用TagBuilder
方法,有的使用string.Format()
,有的使用可互換。
標籤標籤相當簡單,那麼只是返回一個格式化的字符串,而不是像這樣的標籤實例化TagBuilder
類會更好嗎?
我不一定擔心表現,我只是好奇爲什麼有些人選擇TagBuilder和其他人使用格式化的字符串。
感謝您的啓示!
非常好的一點。我想我可以'混合'我的幫手文件,使簡單的一個格式化字符串和更復雜的TagBuilders。 – Anders 2009-09-28 15:35:57
...還有'AddCssClass'用於定義多個CSS類。 – 2012-02-02 06:46:03