Wie füge ich Datenattribute zu Html.BeginForm hinzu

Lesezeit: 1 Minute

Benutzer-Avatar
Peter

Ich verwende Folgendes, um ein Formular zum Hochladen von Bildern auf eine mobile Website zu erstellen.

@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data" }))

Da es jedoch jQuery Mobile verwendet, habe ich Ajax aktiviert, damit der Übergang zwischen den Seiten schön und reibungslos ist. Dies hat das Problem verursacht, dass mein Formular die Bilder nicht hochlädt, da Sie mit Ajax keine Datei-Uploads durchführen können. Ich muss das Attribut hinzufügen data-ajax="false" zu diesem Formular, damit es meine Datei-Uploads zulässt.

Weiß jemand, wie ich das mache, da ich mehrere Variationen der folgenden ausprobiert habe, es aber nicht zum Laufen bringen konnte:

@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data", "data-ajax" = "false" }))

  • Könntest du es versuchen @data-ajax = "false"bitte?

    – André Cali

    23. Juli 2013 um 13:41 Uhr

  • @AndreCalil Ich habe das als eine meiner vielen Variationen versucht

    – Peter

    23. Juli 2013 um 13:43 Uhr

Der Trick besteht darin, den Unterstrich anstelle des Bindestrichs zu verwenden:

new { enctype = "multipart/form-data", data_ajax = "false" }

Der Bindestrich ist als Teil der c#-Kennung nicht zulässig. Das MVC-Framework übersetzt den Unterstrich automatisch.

  • Danke dafür – ich dachte daran, einen Weg zur Übersetzung zu finden _ zu - aber ich dachte, ich würde zuerst schnell nach dem “richtigen” Weg suchen. Razor Engine, du liebst mich!

    – Brichins

    15. September 2015 um 22:55 Uhr

Sie können eine andere Überladung verwenden:

@using (Html.BeginForm("Form", "Quote", FormMethod.Post, new Dictionary<string, object> { { "enctype", "multipart/form-data" }, { "data-ajax", "false"} })) 

  • Während es in diesem mehr Junk { } gibt, funktioniert es hervorragend für Vue, wenn Sie einem Formular ein ref-Attribut hinzufügen müssen, da ref ein Schlüsselwort in C# ist und nicht für die Überladung “object htmlAttributes” funktionieren kann.

    – Matthew Optional Meehan

    30. Januar 2018 um 2:24 Uhr

1175650cookie-checkWie füge ich Datenattribute zu Html.BeginForm hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy