Asp.net mvc 3 在post(ASP.NET MVC 3)的视图模型中,是否有方法传回Request.Files?
我已经在代码中成功删除了对Request.Form的引用,但是我还没有看到ASP.NET MVC 3支持将Request.Files绑定到我的视图模型。最佳实践是将Request.Files对象(HttpFileCollectionBase)传递给处理我的附件的任何方法吗?例如:Asp.net mvc 3 在post(ASP.NET MVC 3)的视图模型中,是否有方法传回Request.Files?,asp.net-mvc-3,viewmodel,Asp.net Mvc 3,Viewmodel,我已经在代码中成功删除了对Request.Form的引用,但是我还没有看到ASP.NET MVC 3支持将Request.Files绑定到我的视图模型。最佳实践是将Request.Files对象(HttpFileCollectionBase)传递给处理我的附件的任何方法吗?例如: [HttpPost] public ActionResult UpdateStatus(StatusViewModel vm) { bool updated = HandleUpdate(Request.File
[HttpPost]
public ActionResult UpdateStatus(StatusViewModel vm)
{
bool updated = HandleUpdate(Request.Files, vm);
...
return View("Updated");
}
您只需声明HttpPostedFileBase类型的操作参数,如下所示:
public ActionResult Method(HttpPostedFileBase fileUploaded)
您还可以绑定到类似命名实例的数组
public ActionResult Method(HttpPostedFileBase[] filesUploaded)
而且,HttpPostedFileBase可以是视图模型的成员
public class MyModel{
public string Name{get; set;}
public HttpPostedFileBase FileUploaded{get; set;}
}
我尝试将HttpPostedFileBase添加到我的视图模型中,但似乎缺少将其与请求对象的文件绑定的粘合剂。(Request.Files包含内容,它不会将内容放入我的对象中。)必须正确命名字段以匹配字段名,就像任何其他表单字段一样。