Как каждый добавляет, что “идентификатор” приписывает HTML. LabelFor () в ASP.NET MVC2?

Как можно было бы добавить, что "идентификатор" приписывает HTML. LabelFor () в ASP.NET MVC2?

Это - мой код маркировки:

<%=Html.LabelFor(x => x.FirstName)%>

Это - моя неудачная попытка:

<%=Html.LabelFor(x => x.FirstName, new { @id = "first-name" } )%>

Спасибо.

5
задан Jason Berkan 12 August 2010 в 15:51
поделиться

2 ответа

Методы LabelFor, TextBoxFor, XXXFor автоматически добавьте идентификатор на основе имени свойства. Я не думаю, что вы можете это преодолеть. Если вы хотите иметь возможность устанавливать идентификатор, вам необходимо использовать методы, не относящиеся к For, такие как Html.TextBox.

0
ответ дан 15 December 2019 в 00:55
поделиться

Как насчет этого метода расширения

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 для включения идентификатора.

0
ответ дан 15 December 2019 в 00:55
поделиться