ASP.NETMVCアプリケーション用のHtmlヘルパーファイルがあります。それらの大部分は、単にフォーマットされた文字列を返します。
これが私のフォーマットされた文字列ヘルパーの1つの例です:
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
labelタグはかなり単純なので、このようなタグのクラスをインスタンス化するよりも、フォーマットされた文字列を返す方が「良い」でしょうか。
私は必ずしもパフォーマンスについて心配しているわけではありません。TagBuilderを選択する理由とフォーマットされた文字列を使用する理由について知りたいだけです。
悟りをありがとう!