【发布时间】:2018-10-18 06:06:13
【问题描述】:
当用户更改特定下拉列表时,我正在尝试加载 ListboxFor 控件。下面是我试图实现它的代码,但它不起作用。 任何人都可以指导我吗?提前致谢。
@Html.ListBoxFor(c => c.ClientDemographicHospitalId, new MultiSelectList(Model.Hospitals, "Value", "Text"), new { ng_model = "hospitalDropdownList", @class = "HospitalListbox", style = "width:65%" })
$.ajax({
url: '/Controller/ActionMethod',
type: "POST",
dataType: "JSON",
data: { clientId: clientId },
success: function (data) {
$("#ClientDemographicHospitalId").empty();
$("#ClientDemographicHospitalId").append($('<option></option>').val(0).html("Select Hospital"));
$.each(data, function (i, hospitals) {
$("#ClientDemographicHospitalId").append($('<option></option>').val(hospitals.ClientDemographicHospitalId).html(hospitals.Name));
});
}
});
public ActionResult GetHospitalsByClient(int clientId)
{
JsonResult result = new JsonResult();
var hospitals = GetHospital(clientId);
if (hospitals != null)
{
result.Data = hospitals.ToList();
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
}
return result;
}
【问题讨论】:
-
什么不起作用?如果您在浏览器控制台中遇到任何错误怎么办?
-
我认为你需要在每个循环中使用 data.Data 而不是 data
-
或许也可以在这里粘贴您渲染的 HTML?
标签: jquery ajax asp.net-mvc html.listboxfor