gpt4 book ai didi

c# - 下拉式级联 MVC 2

转载 作者:行者123 更新时间:2023-12-02 18:20:57 26 4
gpt4 key购买 nike

我正在绑定(bind)第一个更改的下拉列表。但我变得不确定。

这是我尝试过的。在 View 中

   <select id="BreakOutValue" class="input1_drop" onchange="onChange()" >
</select>
<%:Html.DropDownList("DropClient", new SelectList(Model.DropClient, "Value", "Text", Model.txtDropClient), "-- Select --", new { @class = "input1_drop", id = "DropClient", @onchange = "onClientChange();"})%>

if ($("#DropClient").val() != '') {
$.ajax({
async: false,
type: 'post',
url: '/Report/BindBreakOutsWithClient_ID',
data: { Client_ID: $("#DropClient").val() },
success: function (data) {

debugger;
// var responseID = eval("(" + data + ")");
// var SystemField = responseID.List;
var items = "";
$.each(data, function (i, data) {
items += "<option value='" + data.Client_ID + "'>" + data.labelname + "</option>";
});
$("#BreakOutValue").html(items);


// $("#BreakOutValue option").remove();
// $("#BreakOutValue").append("<option value=''>-- Select --</option>");
// for (var i = 0; i < data.length; i++) {
// $("#BreakOutValue").append("<option selected='selected' value=" + data.Data[i] + ">" + data.Data[i] + "</option>");
// }
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
return false;
}

在 Controller 中

   public ActionResult BindBreakOutsWithClient_ID(string Client_ID)
{
int Client = Convert.ToInt32(Client_ID);
// var qBreakOut = from c in DBReport.ClientMappings orderby c.labelname ascending where c.Client_ID == Client && c.availableinui == true select c;
var BreakOut = dbReport.ClientMappings.Where(m => m.Client_ID == Client && m.availableinui == true).OrderBy(m => m.labelname).ToList();
return Json(new { Data = BreakOut });
}

但我在下拉列表中没有得到任何内容。我变得不确定。

最佳答案

在 Controller 操作中,您已在 Json 响应中添加 Data 属性作为前缀:

return Json(new { Data = BreakOut });

因此请确保在客户端上循环访问此属性:

var items = "";
$.each(data.Data, function (i, item) {
items += "<option value='" + item.Client_ID + "'>" + item.labelname + "</option>";
});
$("#BreakOutValue").html(items);

或者如果您想保留当前代码,则直接返回列表:

return Json(BreakOut);

此外,我强烈建议您删除 $.ajax 调用中的 async: false 参数。通过设置此参数,您将向服务器发出阻塞请求,这完全违背了 AJAX 调用的全部目的。

关于c# - 下拉式级联 MVC 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18824159/

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