在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>');
});
});
});