我在cshtml页面中创建了以下下拉列表:
@( Html.Kendo().DropDownList().Name("ddlCode").OptionLabel("Select Code...").BindTo(@ViewBag.dropDown)
.DataTextField("Title")
.DataValueField("domainCode")
我在检查我页面上的一个复选框时绑定了这个下拉列表。
在检查复选框时,我调用了javascript函数并编写了如下的ajax脚本:
var ddl = $('#ddlCode').data("kendoDropDownList");
$.ajax({
url: "/PP/BindDropDown",
data: {
'Id': paramID
},
dataType: "json",
type: 'POST',
cache: false,
success: function (_data) {
ddl.dataSource.data(_data)
},
error: function () {
//
}
});
PPController的BindDropdown包含代码:
public JsonResult BindDropDown(string ID)
{
List<TEAMS_PP.Entity.correlations> list = new correlation().getDropDownvalues(ID);
ViewBag.dropDown = list;
return Json(list);
}
我的问题是当下拉列表被绑定时,它会将其项目显示为“Undefined
”,如下所示:
如何绑定此下拉列表???
我正在使用MVC4 Kendo UI Controls
Entity.Correlations:
public correlations() { }
public correlations(DB.EH_PP_DmainComp item)
{
//this.code = Convert.ToInt32( Convert.ToString(item.domainCode));
this.correlatedText = item.description;
this.codeTitle = item.title;
//Component 1a: Demonstrating Knowledge of Content and Pedagogy
//ArrayList arrCode = new ArrayList();
string[] arrCode = Convert.ToString(item.title).Split(':');
string[] code = Convert.ToString(arrCode[0]).Split(' ');
this.code = Convert.ToString(code[1]);
}
public DB.EH_PP_DmainComp ToDB()
{
var rec = new DB.EH_PP_DmainComp();
return rec;
}
public DB.EH_PP_DmainComp ToDB(DB.EH_PP_DmainComp rec)
{
return rec;
}
}
答案 0 :(得分:1)
这里发生了什么......
@(Html.Kendo().DropDownList().Name("ddlCode").OptionLabel("Select Code...").BindTo(@ViewBag.dropDown)
.DataTextField("Title")
.DataValueField("domainCode")
您告诉DropDownList
在Title
课程中找到domainCode
和correlations
属性。但是,correlations
类没有这样的属性。
要完成这项工作,您必须执行以下操作之一:
Title
和domainCode
属性添加到correlations
类