我正在使用Kendo UI mvc在asp.net mvc上工作.我有两个剑道下拉列表.一个用于诊所列表,另一个用于选定诊所的患者列表.但是,临床和患者之间没有使用级联下拉列表的直接关系.因为我在dropdownlist更改事件中使用了ajax调用并获取了患者列表.这是我列表诊所的第一个下拉列表
@( Html.Kendo().DropDownList() .Name("ddlClinics") .Events(e=>e.Change("ChangeClinic")) .BindTo(new SelectList((List<Account.Entities.Clinic>)ViewBag.lstClinic,"ClinicID","ClinicName")))
这是我的列表患者的第二个下拉列表
@( Html.Kendo().DropDownList() .Name("ddlPatients") .BindTo(new SelectList((List<Patient>)ViewBag.Patients,"PatId","PatName"))))
我想在第一个下拉列表更改时动态地将患者列表绑定到第二个下拉列表,
function ChangeClinic() { $.ajax({ url: '/Messages/GetPatient',type: 'Post',data: { email: '@User.Identity.Name' },cache: false,success: function (result) { var ddlPatients = $('#ddlPatients').data('kendoDropDownList'); var main = []; $.each(result,function (k,v) { main.push({ "PatId": v.PatId,"PatName": v.PatName }); }); ddlPatients.dataTextField = "PatName"; ddlPatients.dataValueField = "PatId"; ddlPatients.dataSource.data(main); ddlPatients.reload(); } }); }
我能够将列表绑定到下拉列表,但所有项目都显示为“未定义”.所以请指导我.
解决方法
据我所知,诊所和患者之间存在关系,因此您应该能够使用包装中提供的
CascadeFrom(“DropDownList1”).我们以类似的方式使用级联下拉列表来确定学区和学校之间的关系:
@(Html.Kendo().DropDownList() .Name("district") .HtmlAttributes(new { style = "width:300px;" }) .BindTo(ViewBag.districts) .DataTextField("districtName") .DataValueField("districtID") .OptionLabel("Select district") ) @(Html.Kendo().DropDownList() .Name("School") .HtmlAttributes(new { style = "width:300px;" }) .CascadeFrom("district") .BindTo(ViewBag.schools) .DataTextField("SchoolName") .DataValueField("SchoolID") .OptionLabel("Select School") )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。