我使用以下内容创建表单以在移动网站上传图像。
@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" }))
答案 0 :(得分:61)
诀窍是使用下划线而不是连字符:
new { enctype = "multipart/form-data", data_ajax = "false" }
连字符不允许作为c#标识符的一部分。 MVC框架自动翻译下划线。
答案 1 :(得分:16)
您可以使用其他重载:
@using (Html.BeginForm("Form", "Quote", FormMethod.Post, new Dictionary<string, object> { { "enctype", "multipart/form-data" }, { "data-ajax", "false"} }))