0

我有两个编辑器模板:

上传文件.cshtml:

@model HttpPostedFileBase[]
@Html.EditorFor(m => Model, "UploadFile", new { multiple = true })

上传文件.cshtml:

@model HttpPostedFileBase
@Html.TextBox("", Model, new { type = "file", multiple = Convert.ToBoolean(ViewBag.Multiple) ? "multiple" : "" })
<!-- Additional code here i don't wish to repeat in both controls -->

注意 UploadFiles.cshtml 模板如何接受一个数组,然后调用 UploadFile.cshtml 模板并通过视图数据传入 multiple = true。

我的问题是,如果我说:

@Html.EditorFor(m => Model.Files, "UploadFiles")

它不渲染任何东西。

但是,如果我说:

@Html.EditorFor(m => Model.File, "UploadFile")

它正确呈现。

如果有人能告诉我如何实现这一点,我将不胜感激。

谢谢

4

1 回答 1

1

在 UploadFiles.cshtml 中,您将一个数组传递Model给 UploadFile.cshtml,它不接受数组。您的意思是将该行包装在 foreach 中吗?

foreach (var file in Model)
{
    @Html.EditorFor(x => file, "UploadFile", new { multiple = true })
}
于 2012-07-16T00:13:01.170 回答