asp.net-mvc – 如何动态绑定kendo mvc ui dropdownlist

我正在使用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")
)

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....