我有一个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] 删除。
我来说两句