ASP.NET MVCのビュー エンジンについては多くの議論があり、for ループなどを使用したインラインの "タグ スープ" に対する批判もいくつかあります。
代替手段または補完手段は、単なるインライン メソッド呼び出しである HTML ヘルパーを使用することでした。
今日、ASP.NET MVC の HTML ヘルパーの内部を見ると、TagBuilderというクラスが使用されています。
私の提案は、LINQ to XML を使用して、厳密に型指定され、正しくフォーマットされた (X)HTML を取得することです。
XDocument output = new XDocument();
XElement root = new XElement("div",
new XAttribute("class", "root_item"));
XElement iconImage = new XElement("img",
new XAttribute("src", ResolveUrl("~/image.gif")),
new XAttribute("alt", "This is an image"));
XElement link = new XElement("a",
new XAttribute("class", "link"),
new XAttribute("href", "http://google.com"),
new XText("Link to Google"));
root.Add(link);
root.Add(iconImage);
output.Add(root);
ボタンを新しく作成して、別のコントロールのコントロール コレクションに追加できる、Web フォームの厳密に型指定されたコントロールに似ているので、私はそれが好きです。
これに明らかな問題や制限はありますか?