UIHint不适用于IList?

时间:2011-10-26 20:15:29

标签: asp.net-mvc-3 razor data-annotations partial-views

我的 ViewMode

中有一个属性
[UIHint("FileUpload")]
public IList<string> Images { get; set; }

在视图 Create.cshtml

@html.ValidationSummary(true)
@html.EditorForModel()

在文件夹Shared/EditorTemplates/FileUpload.cshtml

<h3>Test</h3>

但是没有显示该字段。简单来说,没有任何事情发生!

我使用其他类型的字段进行了相同的测试并且它有效:

[UIHint("FileUpload")]
public string Test { get; set; }

可能有什么不对? 你是如何解决这个问题的?

如果我在 Create.cshtml 视图中手动添加以下代码,则可以正常使用!

@Html.EditorFor(m => m.Images)

我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

是的,UIHint不适用于列表。您需要在相应的编辑器模板(~/Views/Shared/EditorTemplates/FileUpload.cshtml)中使用循环。 UIHint模板传递给模型,在这种情况下是IList<string>

@model IList<string>
@foreach (var item in Model)
{
    ...
}