我有一个用于我的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