次のように編集可能に設定しているグリッドがあります。
.Editable(e =>
{
e.Enabled(true);
e.Mode(GridEditMode.PopUp);
e.TemplateName("MyEdit");
e.Window(w => w.Title("Gadzooks"));
}
MyEdit.cshtml には、次のようなものがあります。
<div>
@Html.LabelFor(m => m.Type)
@Html.EditorFor(m => m.Type, "MyTypeListEdit", Model.Type);
</div>
最後に、エディター MyTypeListEdit.cshtml で:
@model object
@{
string selectedValue = (string)Model;
}
@{
SelectList selectList = new SelectList(
new SelectListItem[] {
new SelectListItem()
{
Text = "Primary",
Value = "Primary",
Selected = true
},
new SelectListItem()
{
Text = "Secondary",
Value = "Secondary"
}
},
"Text",
"Value"
);
@(
Html.Kendo().DropDownListFor(model => model)
.Name("Type")
.BindTo(selectList)
.DataValueField("Value")
.DataTextField("Text")
.Value(selectedValue)
)
}
モデルのタイプがセカンダリの場合でも、プライマリが選択されます。(どこかに断線があると思います)。Editable() で設定されている別のテンプレートから参照されているエディター テンプレートを取得して、実際に適切な値を選択するにはどうすればよいですか。Kendo UI のドキュメントはお粗末です。