将 JSON 对象从 MVC 控制器读取到下拉列表



在actionresult中,我编写了另一个函数控制器,该控制器最初将查询输出转换为.tolist(),然后将输出作为json发送。

var qry = searchFilter(sobj);
            var resultData = qry.ToList().Select(
                    u => new
                    {
                        RowId = 0,
                        u.Id,
                        u.Title
                    }).ToList();
            return Json(new { data = resultData }, JsonRequestBehavior.AllowGet);

在视图中,我想读取getjson上的json数据,并使用以下命令将其放入html.dropdown中:

$.getJSON('@Url.Action("GetData", "EduBranch", new { area="ManageLesson"})', null, function (data) {
            $.each(data, function (index, obj) {
                $('#col6_filter').append('<option value=' +
                  obj.Id + '>' + obj.Title + '</option>');
            });
        });

助手如下:

@Html.DropDownList("col6_filter", new SelectList(string.Empty, "Id", "Title"), "Please select..", new { @class = "form-control" })

但在运行时,数据显示未定义的下拉列表。问题出在哪里?谢谢你的帮助。

试试这个回报

return Json(resultData, JsonRequestBehavior.AllowGet);

 $.each(data.data, function (index, obj) {
            $('#col6_filter').append('<option value=' +
              obj.Id + '>' + obj.Title + '</option>');
        });
    make sure you have it like this in your controller
        return Json(resultData, JsonRequestBehavior.AllowGet);
  --Your script--
    $.get("yourcontroller/Yourfunction",
         function (data) {
           $.each(data, function (i, datum) {
           $("#col6_filter").append('<option value="' + datum.Value + '">' + datum.Text + '</option>');
               });
              });
         });

最新更新