【发布时间】:2015-05-21 07:31:06
【问题描述】:
@Html.DropDownList("GroupCode",(IEnumerable<SelectListItem>)ViewBag.GroupCode,"-- Please Select --", new{@id="groupcd"})
DropDownList 选择组并将选择的值回传到 JSON 以获取客户端代码列表并放入另一个 DropDownList
$(function() {
$("#groupcd").change(function () {
var selectedValue = $("#groupcd").val();
$.post('@Url.Action("getClientCD", "OutstandingClaim")', { selection: selectedValue }, function (data) {
$("#clientcd").html(data);
});
});
});
Javascript 获取选定的值并发布到操作
public JsonResult getClientCD(string selection)
{
var data = db.Common_CustMas.Where(c => c.Group == selection)
.ToList().Select(x => string.Format("{0}--{1}", x.CUSTCODE, x.CUSTNAME));
ViewBag.ClientCode = data;
return Json(data, JsonRequestBehavior.AllowGet);
}
回发到控制器后,查询列表并传回
@Html.DropDownList("ClientCD", (IEnumerable<SelectListItem>) ViewBag.ClientCode, "--Please Select --", new{@id="clientcd"})
查询有效,但没有数据传回 ViewBag 客户端代码。有谁知道这是什么问题以及如何解决这个问题?
【问题讨论】:
-
ViewBag 仅在渲染视图时出现,在这种情况下,您不会渲染视图,而是返回一些应该是 json 结果的列表项
-
o i c,那么如何将 json 结果传回下拉列表,您知道该怎么做吗?
标签: javascript jquery json model-view-controller