Додавання класу CSS до Html.BeginForm ()


79

Як додати атрибут класу для наступної ситуації (лише за допомогою ReturnUrl):

@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
{
}

Я хочу щось подібне:

@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }, new { @class = "login-form" })) 
{
}

Відповіді:


158

Для цього існує перевантаження, якщо ви надаєте метод дії, ім’я та форму контролера.

@using (Html.BeginForm("ActionName", "ControllerName", 
            new { ReturnUrl = ViewBag.ReturnUrl }, 
            FormMethod.Post, new { @class="login-form" }))
{
  etc.
}

2
Дякую ... Це те, що мені потрібно .. !!
Vishal

29
Тому найпоширенішим використанням методу є Html.BeginForm(), отже, я б хотів, щоб Microsoft зробила можливим дзвінок Html.BeginForm( new{ @class="something"})без необхідності дбати про всі інші параметри.
Шаді Намруті,

Погодьтеся, було б непогано вказати лише htmlAttribute, однак вам не потрібно вказувати всі параметри, а лише метод:Html.BeginForm(FormMethod.Post, new { @class = "something" })
Бен Робінсон

Що робить 3-й параметр? Що з ReturnUrl?
SKREFI

1
Html.BeginForm("Index", "EIApplication", FormMethod.Post, new { enctype = "multipart/form-data", **@class = "nea-forms"** })

Будь ласка, додайте коментар, що пояснює, як ваш код вирішує проблему, щоб покращити цю відповідь.
Ерік

-3

Або просто використовуючи html:

<form action="/ActionName/ControllerName" method="post" class="login-form">

</form>

7
Питання конкретно зазначає "Html.BeginForm ()"
EvilDr

Крім того, я не впевнений, чи додасть це маркер проти підробки. Просто те, про що слід пам’ятати.
KSib
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.