Hinzufügen einer CSS-Klasse zu Html.BeginForm ()


77

So fügen Sie ein Klassenattribut für die folgende Situation hinzu (nur mit ReturnUrl):

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

Ich möchte so etwas:

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

Antworten:


156

Es gibt eine Überlastung dafür, wenn Sie die Controller-Aktion, den Namen und die Formularmethode angeben.

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

2
Danke ... das habe ich gebraucht .. !!
Vishal

28
Die häufigste Verwendung der Methode ist Html.BeginForm()daher, ich wünschte, Microsoft würde es ermöglichen, aufzurufen, Html.BeginForm( new{ @class="something"})ohne sich um alle anderen Parameter kümmern zu müssen.
Shadi Namrouti

Stimmen Sie zu, es wäre schön, nur htmlAttribute anzugeben, Sie müssen jedoch nicht alle Parameter angeben, sondern nur die Methode:Html.BeginForm(FormMethod.Post, new { @class = "something" })
Ben Robinson

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

Bitte fügen Sie einen Kommentar hinzu, in dem erläutert wird, wie Ihr Code das Problem behebt, um diese Antwort zu verbessern.
Eric Hauenstein

-3

Oder einfach mit HTML:

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

</form>

7
Die Frage besagt speziell "Html.BeginForm ()"
EvilDr

Ich bin mir auch nicht sicher, ob dadurch das Antiforgery-Token hinzugefügt wird. Nur etwas zu beachten.
KSib
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.