Asp.net mvc 如何在mvc中为自定义助手生成id
这就是我如何创建自定义HTML帮助程序并为其生成id的方法 但是当我在剃须刀中使用标记时,当渲染时,所有标记的id都是相同的,有人可以帮助我找到解决方案Asp.net mvc 如何在mvc中为自定义助手生成id,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,这就是我如何创建自定义HTML帮助程序并为其生成id的方法 但是当我在剃须刀中使用标记时,当渲染时,所有标记的id都是相同的,有人可以帮助我找到解决方案 public static MvcHtmlString MyLabel(this HtmlHelper html, string text) { var builder = new TagBuilder("myLable"); builder.GenerateId("MyLabl
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")
@使用MvcAppCustomeHtmlHelpers.Helper;
@Html.MyLabel(“用户名”)
@Html.TextBox(“用户名”)
@Html.MyLabel(“密码”)
@文本框(“密码”)
当我呈现文本框时,id是其他文本框的用户名和密码,但我无法为我的custome html helper获取类似id的文本框只需再传递一个参数“id” 现在,您可以使用:
@Html.MyLabel("username", "label1")
@Html.MyLabel("username", "label2")
您需要
TagBuilder.GenerateId
:
builder.GenerateId(text);
老实说,这并不是一个快速谷歌不能告诉你的:
builder.GenerateId(text);