Ответ 1
Хитрость заключается в использовании подчеркивания вместо дефиса:
new { enctype = "multipart/form-data", data_ajax = "false" }
Дефис не допускается как часть идентификатора С#. Структура MVC автоматически трансформирует подчеркивание.
Я использую следующее, чтобы создать форму для загрузки изображений на мобильный сайт.
@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data" }))
Однако, поскольку он использует jQuery mobile, я включил Ajax так, чтобы переход между страницами был приятным и плавным. Это вызвало проблему в том, что моя форма не будет загружать изображения, поскольку вы не можете загружать файлы с помощью ajax. Мне нужно добавить атрибут data-ajax="false"
в эту форму, чтобы он мог загружать мои файлы.
Кто-нибудь знает, как я это делаю, поскольку я пробовал несколько вариантов следующего, но не смог заставить его работать:
@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data", "data-ajax" = "false" }))
Хитрость заключается в использовании подчеркивания вместо дефиса:
new { enctype = "multipart/form-data", data_ajax = "false" }
Дефис не допускается как часть идентификатора С#. Структура MVC автоматически трансформирует подчеркивание.
Вы можете использовать другую перегрузку:
@using (Html.BeginForm("Form", "Quote", FormMethod.Post, new Dictionary<string, object> { { "enctype", "multipart/form-data" }, { "data-ajax", "false"} }))