我有以下模型:
public class Filter
{
public string Field { get; set; }
public string Operator { get; set; }
public string Value { get; set; }
}
以及以下控制器:
public class FilterController
{
public ActionResult Index()
{
IList<Filter> model = new List<Filter>() {
new Filter(),
new Filter()
};
return View(model);
}
}
以及以下观点:
@model IEnumerable<Filter>
@Html.EditorForModel()
这应该寻找我的 EditorTemplate Filter.cshtml
,并为列表中的每个元素呈现模板,对吗?
使用 Glimpse,我注意到 MVC 正在寻找IEnumerable`1.cshtml
而不是Filter.cshtml
当我使用时也会发生同样的事情
@Html.EditorFor(model => model)
当我这样做时:
@Html.EditorFor(model => model, "Filter")
我收到一条错误消息,说需要Filter.cshtml
一个类型的模型,Filter
但它收到了一个类型的模型IEnumerable<Filter>
我这样做正确吗?我是否需要做任何其他事情才能使用正确的编辑器模板正确渲染模型列表?