我使用以下内容创建一个表单,将图像上传到移动网站上。
@using (Html.BeginForm("Form/", "Quote", FormMethod.Post, new { enctype = "multipart/form-data" }))
然而,由于它使用的是jQuerymobile,所以我启用了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" }
连字符不允许作为c#标识符的一部分。MVC框架自动翻译下划线。
您可以使用另一个重载:
@using (Html.BeginForm("Form", "Quote", FormMethod.Post, new Dictionary<string, object> { { "enctype", "multipart/form-data" }, { "data-ajax", "false"} }))