我正在使用名为“jquery.form.js”(http://malsup.com/jquery/form/#getting-started)的 jquery 插件,以便能够在我的 ASP.Net MVC 项目中使用 Ajax 上传文件。我遇到的问题是,当我按下表单中的提交按钮时,处理上传的控制器操作被调用了两次。第一次调用 HttpPostedFileBase 对象时正确设置了上传的文件。第二次调用 HttpPostedFileBase 对象被设置为 Nothing。我不希望处理程序被调用两次。如何防止重复发布?
风景:
@Using Html.BeginForm("Document", "NewDocument", Model, FormMethod.Post, New With {.enctype = "multipart/form-data", .id = "submitimage-form"})
<input type="file" id="fileInput" name="fileInput" />
<input type="submit" id="submitbutton" value="Accept" data-mini="true" data-theme="b" data-icon="check" />
End Using
<script src="~/Scripts/jquery.form.js"></script>
<script>
$(document).on("pageshow", '#choosenewdocument', function () {
$("#submitimage-form").ajaxForm(function () {
});
});
</script>
控制器处理程序:
<HttpPost()> _
Function Document(ByVal model As MaxDocument, fileInput As HttpPostedFileBase) As ActionResult
...
End Function