【发布时间】:2014-03-07 18:35:02
【问题描述】:
我有一个带有 1 个字符串属性的简单模型,我在一个简单的视图上呈现它。
视图如下所示:
@using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { encType="multipart/form-data" }))
{
@Html.TextBoxFor(m => m.FirstName)
<br /><br />
<input type="file" name="fileUpload" /><br /><br />
<input type="submit" value="submit me" name="submitme" id="submitme" />
}
控制器是这样的:
[HttpPost]
public ActionResult UploadFile(UploadFileModel model, HttpPostedFileBase file)
{
// DO Stuff
return View(model);
}
现在,当我提交时,模型确实被填充,但第二个参数 HttpPostedFileBase 为空。但是,在执行 Request.Files 时 - 它似乎确实显示正在发布的请求中有一个文件。 我如何才能真正获得要绑定的第二个参数?
【问题讨论】:
-
绑定是按名称进行的,由于您在输入标记上有
name="fileUpload",因此您的操作方法的第二个参数应命名为相同的名称,即HttpPostedFileBase fileUpload。
标签: c# asp.net asp.net-mvc asp.net-mvc-3 razor