MVC将元素id从视图传递到控制器

时间:2015-07-16 18:04:14

标签: asp.net-mvc forms file element

foreach (var item in Model)
{
    using (Html.BeginForm("PreviewImage", "Music", FormMethod.Post, new { @enctype = "multipart/form-data" }))
    {
        @Html.AntiForgeryToken()

        <input type="file" class="upload-image" id="upload-image-file_@item.Id" name="file" accept="image/*">
        <button class="btn btn-default" id="bt_@item.Id" style="display: none" type="submit"></button>
    }
}

如何将文件ID传递给控制器​​?

1 个答案:

答案 0 :(得分:1)

假设您要传回上传图片的路径 - 在控制器内部,请使用以下内容:

if (Request.Files.Count > 0)
{
         var file = Request.Files[0];

         if (file != null && file.ContentLength > 0)
         {
            var fileName = Path.GetFileName(file.FileName);
            var serverPath = Path.Combine(Server.MapPath("~/Images/"), fileName);
            file.SaveAs(serverPath);

         }
}

假设您正在讨论要追加@item.Id的{​​{1}}变量,我会在此处添加Id

@item.Id

然后对您的控制器进行相应的更改。