我有一个Ajax表单,它加载了几个文件;问题是Request.Files
总是空的。我找不到任何关于它的信息,所以就在这里。
<%using (Ajax.BeginForm("Edit", "Manage", FormMethod.Post,
new AjaxOptions{ OnComplete = "OnSaveEditSuccess" },
new { enctype="multipart/form-data", id = "form_Edit", name = "form_Edit" }))
{%>
/* ... */
<input type="file" id="CCTranscripts_fileId" name="CCTranscripts_fileId"
onchange="ValidateUploadFile('CCTranscripts_file', this.value);" />
/* ... */
<% } %> <%-- end form --%>
答案 0 :(得分:1)
您无法使用AJAX表格上传文件。要上传文件,您需要使用普通Html.BeginForm
。这是因为当发送AJAX请求时,multipart/form-data
不再受到尊重。同样使用javascript,您无法访问文件内容以便将其发送到服务器。有一些插件可以让你实现这一目标。例如,jquery form plugin通过生成隐藏的iframe来支持AJAX uploads。 Uploadify是另一个使用Flash的流行插件。