我一直在努力使用剑道下拉列表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。但是这对下拉列表有什么作用呢?
我不只是想在显示编辑器时设置它,而且还希望网格在我点击“更新”按钮后知道新选择是什么。
请注意,这是网格弹出编辑器的自定义模板。
答案 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提出了这个问题。显然,不得指定名称。