在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" })
但是在运行时,数据显示未定义下拉列表。问题出在哪儿?谢谢你的帮助。
答案 0 :(得分:0)
尝试这个返回新的JsonResult(结果,JsonRequestBehavior.AllowGet);
答案 1 :(得分:0)
尝试此返回
return Json(resultData, JsonRequestBehavior.AllowGet);
或
$.each(data.data, function (index, obj) {
$('#col6_filter').append('<option value=' +
obj.Id + '>' + obj.Title + '</option>');
});
答案 2 :(得分:0)
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>');
});
});
});