これは、カスタム HTML ヘルパーを作成して ID を生成しようとした方法ですが、かみそりでタグを使用すると、レンダリング時にすべてのタグに対して同じ ID が取得され、解決策を見つけるのに役立ちます。
public static MvcHtmlString MyLabel(this HtmlHelper html, string text)
{
var builder = new TagBuilder("myLable");
builder.GenerateId("MyLableId1");
builder.SetInnerText(text);
return MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal));
}
かみそりで
@using MvcAppCustomeHtmlHelpers.Helper;
@Html.MyLabel("username")
@Html.TextBox("username")<br/>
@Html.MyLabel("password")
@Html.TextBox("password")
テキストボックスをレンダリングすると、IDは他のテキストボックスのユーザー名とパスワードになりますが、カスタムHTMLヘルパーのテキストボックスのようなIDを取得できません