我看起来有点在线,我看到的每个例子都解释了如何将IEnumerable<HttpPostedFileBase>
引入控制器,或者如何获得模型,但不是两者。
我想要的是:
<form>
<input type="text" name="Stored file name>
<input type="file" multiple="multiple" name="files>
<input type="submit">
</form>
带控制器
[ActionName("Index"), HttpPost]
public ActionResult IndexPost(Models.MyModel mdl, IEnumerable<HttpPostedFileBase> files)
{
// Do some something with the data in mdl and files here
return RedirectToAction("Index");
}
但是我试图实现这一点的每一种方式,它都会回来找不到无参数处理程序&#39;。如果我不包含该模型,它的工作正常。
我错过了一些非常明显的东西吗?
答案 0 :(得分:0)
我猜你无法找到Darin's this post。它与使用HttpPostedFileBase传递模型并不完全相同,但如果你理解这种行为,那么它就很容易做到。
见下面的例子。
查看强>
@model WebApplication2.Models.MyModel
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.HiddenFor(m => m.Id)
<input type="file" name="file" />
<input type="submit" value="OK" />
}
行动方法
[HttpPost]
public ActionResult Index(MyModel model, HttpPostedFileBase file)
{
if (file != null)
{
//do your stuff here
}
return View();
}