我已经为应用程序实现了图片上传子操作表单。我有一个强类型的局部视图。
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集合中携带。但模型绑定不是在属性中设置这些字段的值。 这些隐藏的领域有什么我想念的吗?
由于