Cómo agrego atributos de datos a Html.BeginForm
asp.net-mvc razor (2)
El truco es usar el guión bajo en lugar del guión:
new { enctype = "multipart/form-data", data_ajax = "false" }
El guión no está permitido como parte del identificador de ac #. El marco MVC traduce el guión bajo automáticamente.
Utilizo lo siguiente para crear un formulario para cargar imágenes en un sitio móvil.
@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data" }))
Sin embargo, como está utilizando jQuery mobile, he habilitado Ajax para que la transición entre páginas sea agradable y fluida. Esto ha causado el problema de que mi formulario no cargue las imágenes, ya que no puede subir archivos con ajax. Necesito agregar el atributo data-ajax="false"
a este formulario para que permita mi carga de archivos.
¿Alguien sabe cómo hago esto cuando probé varias variaciones de lo siguiente pero no pude hacerlo funcionar?
@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data", "data-ajax" = "false" }))
Puedes usar otra sobrecarga:
@using (Html.BeginForm("Form", "Quote", FormMethod.Post, new Dictionary<string, object> { { "enctype", "multipart/form-data" }, { "data-ajax", "false"} }))