【发布时间】:2011-01-30 06:41:21
【问题描述】:
我有一个表单,它使用 HttpPostedFileBase 的默认绑定器绑定模型和文件上传。
这在使用 Html.BeginForm() 时可以正常工作。但是,我想使用 AJAX 执行相同的操作,因此我将其替换为 Ajax.BeginForm() 相应地更改参数。
模型仍然正确绑定,但是我无法将文件上传绑定到 HttpPostedFileBase。
这将模型和文件上传绑定:
<% using (Html.BeginForm("MapUpdateColumns", "RepositoryAdmin", FormMethod.Post, new { id = "UpdateDataset", enctype = "multipart/form-data" })) {%>
这只会绑定模型:
<% using (Ajax.BeginForm("MapUpdateColumns", "RepositoryAdmin", new AjaxOptions { UpdateTargetId = "columnMappings" }, new { id = "UpdateDataset", enctype = "multipart/form-data" })) {%>
控制器动作:
public ActionResult MapUpdateColumns(DatasetViewModel model, HttpPostedFileBase sourceFile)
这应该可行吗?如果可以,我做错了什么?谢谢。
【问题讨论】:
标签: asp.net-mvc ajax model-binding