0

次のように編集可能に設定しているグリッドがあります。

.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 のドキュメントはお粗末です。

4

1 に答える 1