【发布时间】:2009-09-28 14:18:24
【问题描述】:
我的 ASP.NET MVC 应用程序有一个 Html Helper 文件。他们中的大多数只是简单地返回一个格式化的字符串。
这是我的格式化字符串助手之一的示例:
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 而有些人使用格式化字符串。
感谢赐教!
【问题讨论】:
标签: c# asp.net-mvc html-helper tagbuilder