如何配置Kendo Dropdownlist以使用Grid弹出编辑器模板

时间:2013-07-18 06:14:27

标签: kendo-grid kendo-asp.net-mvc

我一直在努力使用剑道下拉列表2天了,似乎无法正确配置它。

如何让Kendo Dropdownlist显示@Model的当前项目?这是我的代码:

@Html.TextBoxFor(model => model.ShortDescription, new { @class="wide200;" })

@(Html.Kendo().DropDownList()
        .Name("importance")
        .HtmlAttributes(new { style = "width: 250px" })
        .DataTextField("Name")
        .DataValueField("ID")
        .DataSource(source => {
            source.Read(read =>
            {
                read.Action("GetImportanceList", "Home");
            })
            .ServerFiltering(true);
        })
        .SelectedIndex(0)
)

在我的控制器中:

public ActionResult GetImportanceList()
    {
        GenericRepository<Importance> _repository = new GenericRepository<Importance>(_context);
        IEnumerable<ImportanceViewModel> list = _repository.Get().ConvertToViewModelList();
        return Json(list, JsonRequestBehavior.AllowGet);
    }

问题在于SelectedIndex(0),它被设置为第一项。如何将其设置为模型中的任何内容?文本框(代码中的第一行)非常简单:model =&gt; model.ShortDescription。但是这对下拉列表有什么作用呢?

我不只是想在显示编辑器时设置它,而且还希望网格在我点击“更新”按钮后知道新选择是什么。

请注意,这是网格弹出编辑器的自定义模板。

2 个答案:

答案 0 :(得分:1)

试试这个,

您必须在model和ListItems中传递DropDownListId。

@(Html.Kendo().DropDownListFor(m=>m.DropDownListId)
        .Name("importance")
        .HtmlAttributes(new { style = "width: 250px" })
        .DataTextField("Name")
        .DataValueField("ID")
        .DataSource(source => {
            source.Read(read =>
            {
                read.Action("GetImportanceList", "Home");
            })
            .ServerFiltering(true);
        })
        .SelectedIndex(0)
)

答案 1 :(得分:1)

我向Telerik提出了这个问题。显然,不得指定名称。