如何将数据属性添加到Html.BeginForm



我使用以下内容创建一个表单,将图像上传到移动网站上。

@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"} })) 

最新更新