我有一个这样的模型:
public class MyModel {
[ScaffoldColumn(false)]
public int CharityId { get; set; }
[UIHint("Charities")]
public SelectList Charities { get; set; }
}
然后我有一个名为 Charities.cshtml 的 EditorTemplate:
@model MyModel
@Html.DropDownListFor(model => model.CharityId, Model.Charities)
然后在我的页面中:
@model MyModel
@Html.EditorForModel()
但是,无论如何,它都不会呈现 Charities 模板。我一直在为此绞尽脑汁,它应该可以工作..但事实并非如此。
有任何想法吗?
编辑:
问题是默认的对象模板不会渲染除自身以外的复杂对象(所谓的浅潜),即使有 UIHint。我的印象是 UIHint 会使它呈现模板,但我显然错了。
解决方法是不要尝试让模型自己渲染。那是可悲的。