使用httppostedfilebase的复杂对象不会绑定uppon submit

时间:2017-08-16 11:08:35

标签: c# asp.net-mvc-4 asp.net-mvc-5

我的复杂对象有问题,这是我的模型

public class screen{
      public dictionaryscreen currentvalue {get; set;}
      public dictionaryscreen newvalue {get;set;}
}

public class dictionaryscreen{
      public string name {get; set;}
      public HttpPostedFileBase imagefile {get;set;}
}

这是我的方法:

public ActionResult Submit(screen model){
     [Some logic....]
}

最后我的观点

@model project.Models.screen

@using(Html.BeginForms())
{
     @Html.TextBoxFor(m => m.newvalue.name)
     @Html.TextBoxFor(m => m.newvalue.imagefile , new { type = "file"})
}

提交后,模型的值为name,但文件为null。我该怎么做才能使用这种模型获取文件。

谢谢。

1 个答案:

答案 0 :(得分:2)

而不是使用平面@using(Html.BeginForms())尝试使用

@using (Html.BeginForm("Submit", "ControllerName", FormMethod.Post, new { enctype = "multipart/form-data"}))