gpt4 book ai didi

asp.net-mvc - 如何动态绑定(bind)kendo mvc ui下拉列表

转载 作者:行者123 更新时间:2023-12-04 09:41:31 25 4
gpt4 key购买 nike

我正在使用 Kendo UI mvc 开发 asp.net mvc。我有两个剑道下拉列表。一个用于诊所列表,另一个用于选定诊所的患者列表。但是使用级联下拉列表在诊所和患者之间没有直接关系。为此,我在下拉列表更改事件中使用了 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"))))

我想在第一个下拉列表更改时将患者列表动态绑定(bind)到第二个下拉列表,
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();
}
});
}

我可以将列表绑定(bind)到下拉列表,但所有项目都显示为 '未定义' .所以请指导我。

最佳答案

据我所知,诊所和患者之间存在关系,因此您应该能够使用 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")
)

关于asp.net-mvc - 如何动态绑定(bind)kendo mvc ui下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13175040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com