Kendo DropDownList默认选定值

恰帕

我有一个Kendo DropDownList:

@(Html.Kendo().DropDownList()
    .Name("concessions")
    .HtmlAttributes(new { style = "width:320px" })
    .DataTextField("Description")
    .DataValueField("Id")
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("getConcessionsDDL", "MasterData");
        });
    })
)

数据源是从getConcessionsDDL控制器中方法读取的:

public ActionResult GetConcessionsDDL()
{
    ConcessionModel cm = new ConcessionModel();
    var aux = cm.getConcessions();
    return Json(aux.concessions.Select(sme => new ConcessionModel { Description = sme.concession.mediumDescription, Id = sme.concession.id }).Distinct(), JsonRequestBehavior.AllowGet);
}

它工作正常,按预期填充了DropDownList。但是现在我要定义其默认选择值。现在,默认值始终是列表的第一位。

我已经使用过.SelectedIndex(4)并且可以正常工作:在这种情况下,选定的索引将为4。但是我想在控制器中定义它。

我试图通过选择的索引,ViewBag但是没有运气:

ViewBag.selectedIndex = 21;

并在视图中:

@(Html.Kendo().DropDownList()
    .Name("concessions")
    .HtmlAttributes(new { style = "width:320px" })
    .DataTextField("Description")
    .DataValueField("Id")
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("getConcessionsDDL", "MasterData");
        });
    })
    .SelectedIndex(ViewBag.selectedIndex)
)

到目前为止没有运气。有什么帮助吗?

恰帕

解决方案很简单,将值添加为HTML属性可以正常工作:

.HtmlAttributes(new { value = ViewBag.ConcessionId })

像这样:

@(Html.Kendo().DropDownList()
    .Name("concessions")
    .HtmlAttributes(new { style = "width:320px" })
    .DataTextField("Description")
    .HtmlAttributes(new { value = ViewBag.ConcessionId })
    .DataValueField("Id")
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("getConcessionsDDL", "MasterData");
        });
    })
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章