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.