为什么 Kendo DropDownList 无法由 json 控制器操作的结果初始化
Why Kendo DropDownList can not be initialized by json result from controller action
我有一个 Kendo 下拉列表如下
<%= Html.Kendo().DropDownList()
.Name("AssignDisciplineId")
.DataSource(dataSource =>
{
dataSource.Read(read =>
{
read.Action("DisciplinesBySportAjax","Shared").Data("onDisciplinesBySportData");
});
})
.Events(events => events
.Change("onAssignDisciplineComboChanged")
)
.HtmlAttributes(new { style = "font-size:8pt;" })
%>
function onDisciplinesBySportData(e)
{
var sportId = $('#AssignSportsId').data('kendoDropDownList').value();
return { sportId: sportId }
}
public JsonResult DisciplinesBySportAjax(string sportId)
{
var sports = this._sportBL.GetDisciplinesBySport(sportId);
return Json(new SelectList(sports, "Id", "Description"), JsonRequestBehavior.AllowGet);
}
但是下拉列表中填满了 [object object]。在 Html.Kendo().DropDownList()
添加以下内容后
.DataTextField("Description")
.DataValueField("Id")
下拉列表中填满了 [undefined]。我需要这方面的帮助。谢谢。
将 DisciplinesBySportAjax() 更改为
后
public JsonResult DisciplinesBySportAjax(string sportId)
{
var sports = this._sportBL.GetDisciplinesBySport(sportId);
return Json(sports, JsonRequestBehavior.AllowGet);
}
它工作正常,尽管它仍然需要 DataTextField("Description") 和 DataValueField("Id")。
我有一个 Kendo 下拉列表如下
<%= Html.Kendo().DropDownList()
.Name("AssignDisciplineId")
.DataSource(dataSource =>
{
dataSource.Read(read =>
{
read.Action("DisciplinesBySportAjax","Shared").Data("onDisciplinesBySportData");
});
})
.Events(events => events
.Change("onAssignDisciplineComboChanged")
)
.HtmlAttributes(new { style = "font-size:8pt;" })
%>
function onDisciplinesBySportData(e)
{
var sportId = $('#AssignSportsId').data('kendoDropDownList').value();
return { sportId: sportId }
}
public JsonResult DisciplinesBySportAjax(string sportId)
{
var sports = this._sportBL.GetDisciplinesBySport(sportId);
return Json(new SelectList(sports, "Id", "Description"), JsonRequestBehavior.AllowGet);
}
但是下拉列表中填满了 [object object]。在 Html.Kendo().DropDownList()
添加以下内容后.DataTextField("Description")
.DataValueField("Id")
下拉列表中填满了 [undefined]。我需要这方面的帮助。谢谢。
将 DisciplinesBySportAjax() 更改为
后public JsonResult DisciplinesBySportAjax(string sportId)
{
var sports = this._sportBL.GetDisciplinesBySport(sportId);
return Json(sports, JsonRequestBehavior.AllowGet);
}
它工作正常,尽管它仍然需要 DataTextField("Description") 和 DataValueField("Id")。