私はこのようなモデルを持っています:
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 があっても、既定の Object テンプレートがそれ自体以外の複雑なオブジェクトをレンダリングしない (いわゆる浅いダイビング) ことです。UIHint を使用するとテンプレートがレンダリングされるという印象を受けましたが、明らかに間違っていました。
修正は、モデル自体をレンダリングさせないようにすることです。それは悲しいことです。