标记为Hidden的字段不绑定到MVC4中的Model

时间:2013-03-06 19:32:27

标签: asp.net-mvc

我已经为应用程序实现了图片上传子操作表单。我有一个强类型的局部视图。

public class ImageViewModel{
 public long ImageId{get;set;}
 public long OwnerId{get;set;}
 public string ImageName{get;set;}
 public string ImageDescription{get;set;}
 public IEnumerable<HttpPostedFileBase> Files { get; set; }
}

Razor代码看起来像这样:

<form action="UploadImage" method="post" enctype="multipart/form-data">
  @Html.ValidationSummary()
  @Html.HiddenFor(m => m.OwnerId)
  @Html.HiddenFor(m => m.ImageId)
  @HtmlEditorFor(m=>m.ImageName)
  <input type="file" name="Files" id="file0" />
  <input type="submit" value="Upload" />
 </form>

这是问题所在。回发表单时,模型已在其中上载了文件和ImageName值。但是缺少使用HiddenFor绑定的值。

[HttpPost]
public ActionResult UploadImage(ImageViewModel model)
{ ...}

我检查了HTML源代码。隐藏字段使用Id进行更正,名称与名为model的属性匹配。在回帖后,我检查了原始请求。两个隐藏字段都在Form集合中携带。但模型绑定不是在属性中设置这些字段的值。 这些隐藏的领域有什么我想念的吗?

由于

0 个答案:

没有答案