0

我已经在 Kendo 下拉列表中苦苦挣扎了 2 天,但似乎无法正确配置它。

如何让 Kendo 下拉列表显示 @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 => model.ShortDescription。但这对下拉列表有何作用?

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

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

4

2 回答 2

1

尝试这个,

您必须在模型和 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)
)
于 2013-07-18T06:20:47.920 回答
1

我向 Telerik 提出了这个问题。显然不能分配名称。

于 2013-08-07T03:19:10.183 回答