Razor 未呈现空列表的编辑器模板
我的EditorTemplates文件夹中有一个自定义编辑器,用于Razor 未呈现空列表的编辑器模板,razor,asp.net-mvc-4,Razor,Asp.net Mvc 4,我的EditorTemplates文件夹中有一个自定义编辑器,用于IList。编辑器具有以下模型: @model IList<PersonRelation> 避免空引用异常 问题是,当列表不为null且没有元素时,编辑器根本不显示 在我的编辑器中,我迭代元素,但也在循环外呈现另一个控件,我看不到任何元素 我遗漏了什么?解决了。 当我更改属性时,我忘了用[UIHint(“PersonRelations”)] 属性的原始形式(我的自定义编辑器的文件名为“PersonRelations.
IList
。编辑器具有以下模型:
@model IList<PersonRelation>
避免空引用异常
问题是,当列表不为null且没有元素时,编辑器根本不显示
在我的编辑器中,我迭代元素,但也在循环外呈现另一个控件,我看不到任何元素
我遗漏了什么?解决了。
当我更改属性时,我忘了用[UIHint(“PersonRelations”)]
属性的原始形式(我的自定义编辑器的文件名为“PersonRelations.cshtml”)
这是必需的,因为引擎似乎无法推断集合的编辑器,即使您有一个编辑器,所以您必须明确地告诉您要使用哪个编辑器
public IList<PersonRelation> Relations { get; set; }
<div class="editor-field">
@Html.EditorFor(model => model.Relations)
</div>
private IList<PersonRelation> _relations;
public IList<PersonRelation> Relations
{
get { return _relations ?? (_relations = new List<PersonRelation>()); }
set { _relations = value; }
}