有没有办法在post(ASP.NET MVC 3)上的视图模型中传回Request.Files?

时间:2011-11-07 18:42:21

标签: 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.Files, vm);
   ...
   return View("Updated");
}

1 个答案:

答案 0 :(得分:2)

您可以简单地声明类型为HttpPostedFileBase的Action参数,如下所示:

public ActionResult Method(HttpPostedFileBase fileUploaded)

您也可以绑定到同名实例的数组。

public ActionResult Method(HttpPostedFileBase[] filesUploaded)

并且,HttpPostedFileBase可以是您的视图模型的成员。

public class MyModel{
    public string Name{get; set;}
    public HttpPostedFileBase FileUploaded{get; set;}
}