Как можно было бы добавить, что "идентификатор" приписывает HTML. LabelFor () в ASP.NET MVC2?
Это - мой код маркировки:
<%=Html.LabelFor(x => x.FirstName)%>
Это - моя неудачная попытка:
<%=Html.LabelFor(x => x.FirstName, new { @id = "first-name" } )%>
Спасибо.
Методы LabelFor, TextBoxFor, XXXFor автоматически добавьте идентификатор на основе имени свойства. Я не думаю, что вы можете это преодолеть. Если вы хотите иметь возможность устанавливать идентификатор, вам необходимо использовать методы, не относящиеся к For, такие как Html.TextBox.
Как насчет этого метода расширения
public static class LabelExtensions
{
public static string Label(this HtmlHelper helper, string target, string id, string text)
{
return String.Format("<label for='{0}' id='{1}'>{2}</label>", target,id, text);
}
}
Edit
Я думаю, что лучшим способом было бы использовать конструктор тегов, аналогичный в этом примере , и использовать функцию MergeAttribute для включения идентификатора.