所以我对ASP.net MVC很新,并且一直在尝试创建一个fileuploader,但我似乎无法将上传的文件绑定到我的viewmodel。我正在尝试通过我的viewmodel对上传的文件进行验证,这应该是可行的。
我的代码:
查看:
<div id = "PDFForm">
@using (Ajax.BeginForm("Upload", "Home", FormMethod.Post,
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "PDFForm",
},
new { id = "UploadForm", enctype = "multipart/form-data" }))
{
<input type="file" name="Cover" id="Cover" />
<input type="submit" value="Upload"/>
}
</div>
视图模型:
public class UploadVM
{
[Required]
public HttpPostedFileBase Cover { get; set; }
}
控制器操作:
public ActionResult Upload(UploadVM model)
{
if(ModelState.IsValid() && model.Cover !=null)
{
//do things and return a response view
}
else
{
//return to form
}
}
我已经搜索了教程,他们似乎能够使用以下命令将上传的文件绑定到viewmodel:
enctype = "multipart/form-data"
我似乎无法让它发挥作用所以我认为你们可以帮助我或者让我朝着正确的方向前进。
提前致谢!
编辑:我也尝试过使用HTML.BeginForm(),但这似乎不起作用