ASP.NET MVC может генерировать элементы HTML, например @Html.ActionLink()
, с помощью помощников HTML @Html.BeginForm()
и т. Д.
Я знаю, что могу указать атрибуты формы, создав анонимный объект, и передать этот объект для параметра (в данном случае четвертого), htmlAttributes
указав id
для элемента:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Но как насчет class
атрибута? Очевидно, это не работает:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Поскольку это просто генерирует случайные синтаксические ошибки, когда запрашивается мое представление, потому что оно ожидает чего-то другого после встречи с ключевым словом C # class
.
Я также попробовал:
new { _class = "myclass"}
и
new { class_ = "myclass"}
Но они также не работали, поскольку подчеркивания заменяются черточками .
Я знаю, что могу с таким же успехом написать элементы HTML вручную или обернуть форму внутри a <div class="myClass">
, но мне все равно было бы интересно узнать, как это должно быть сделано.
источник
В настоящее время наилучшей практикой в разработке CSS является создание более общих селекторов с модификаторами, которые можно применять как можно шире по всему веб-сайту. Я бы постарался избежать определения отдельных стилей для отдельных элементов страницы.
Если целью CSS-класса
<form/>
элемента является управление стилем элементов в форме, вы можете добавить атрибут класса к существующему<fieldset/>
элементу, который по умолчанию инкапсулирует любую форму в веб-страницах, созданных ASP.NET MVC. Класс CSS в форме редко требуется.источник