Asp.net mvc 4 mvc4html.BeginForm()不';不要上传多个文件

Asp.net mvc 4 mvc4html.BeginForm()不';不要上传多个文件,asp.net-mvc-4,Asp.net Mvc 4,我试图在MVC4中从一个表单上传两个图像。我看到了这一点,它可以像Haaked那样正常工作,但是当我尝试使用(Html.BeginForm())来做同样的事情时,它不起作用 我有控制器提供的操作方法,适用于两种情况: [HttpPost] public ActionResult Photo(IEnumerable<HttpPostedFileBase> files) { foreach (var file in files) {

我试图在MVC4中从一个表单上传两个图像。我看到了这一点,它可以像Haaked那样正常工作,但是当我尝试使用(Html.BeginForm())来做同样的事情时,它不起作用

我有控制器提供的操作方法,适用于两种情况:

[HttpPost]
    public ActionResult Photo(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                var fileName = Path.GetFileName(file.FileName);
                var path = Path.Combine(Server.MapPath("~/Content/Photos/"), fileName);
                file.SaveAs(path);
            }
        }
        return RedirectToAction("Photo");
    }
[HttpPost]
公共行动结果照片(IEnumerable文件)
{
foreach(文件中的var文件)
{
如果(file!=null&&file.ContentLength>0)
{
var fileName=Path.GetFileName(file.fileName);
var path=path.Combine(Server.MapPath(“~/Content/Photos/”),文件名);
file.SaveAs(路径);
}
}
返回操作(“照片”);
}
问题来自于观点。以下是来自Haaked网站的代码,用于查看,可以使用:

<form action="" method="post" enctype="multipart/form-data">

    <label for="file1">Filename:</label>
    <input type="file" name="files" id="file1" />

    <label for="file2">Filename:</label>
    <input type="file" name="files" id="file2" />

    <input type="submit" />
</form>

文件名:
文件名:
这是我没有的代码

@using (Html.BeginForm())
{
    <label for="file1">Filename:</label>
    <input type="file" name="files" id="file1" />

    <label for="file2">Filename:</label>
    <input type="file" name="files" id="file2" />

    <input type="submit" />
}
@使用(Html.BeginForm())
{
文件名:
文件名:
}

我做错了什么?

您需要在Html.BeginForm的方法重载中指定文件上载的enctype

@using (Html.BeginForm("YourAction", "YourController", FormMethod.Post,
    new { enctype = "multipart/form-data" }))
{
    <label for="file1">Filename:</label>
    <input type="file" name="files" id="file1" />

    <label for="file2">Filename:</label>
    <input type="file" name="files" id="file2" />

    <input type="submit" />
}
@使用(Html.BeginForm(“YourAction”、“YourController”、FormMethod.Post、,
新的{enctype=“multipart/form data”})
{
文件名:
文件名:
}