我的模特:
ClassAllocate: ID,DepartmentId,CourseId,RoomId,DayId,StartTime,EndTime
课程:Id,CourseCode,CourseName,DepartmentId
会议室:Id,RoomNumber
日: ID,DayName
我正在尝试按视图页面中“ClassAllocates”表中的部门ID搜索课程,并尝试仅显示这些课程计划/分配详细信息。
我正在使用JSON从控制器发送列表到视图。我需要从JsonResult函数发送多个列表列表。我可以发送它们(我试图发送2个列表),但是,我无法显示它们。它在我的尝试中显示[对象对象]或没有或未定义。
我在视图中包含我的Controller功能和Javascript:
第一名:控制器功能
public JsonResult GetCourseIdListByDepartmentId(int departmentId)
{
var x = db.ClassAllocates.DistinctBy(m => m.CourseId).Where(m => m.DepartmentId == departmentId).ToList();
var r = db.ClassAllocates.DistinctBy(m => m.RoomId).Where(m => m.DepartmentId == departmentId).ToList();
var all = new [] {x,r}.ToList();
return Json(all, JsonRequestBehavior.AllowGet);
}
第二名:查看Java脚本
<script>
$("#DepartmentId").change(function () {
var dptId = $("#DepartmentId").val();
//alert(dptId);
$(".RowClass").empty();
var json = {
departmentId: dptId
};
$.ajax({
type: "POST",
url: '@Url.Action("GetCourseIdListByDepartmentId", "ClassAllocates")',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(json),
success: function (data) {
$.each(data, function (key, value) {
$(".table2").append(
'<tr class="RowClass">' +
'<td>' + value.Couse + '</td>'
+ '<tr>');
});
}
});
});
结果如下: 未定义
我需要,CourseCode,CourseName和RoomNumber
答案 0 :(得分:0)
我有办法。当JSON返回List或list时,我需要在View代码或客户端代码中JSON成功后写两次for循环。
$.each(data, function (key, value) {
if (key==0) {
$.each(this, function (k, v) {
$(".table2").append(
'<tr class="RowClass">' +
'<td>' + v.Course.CourseCode + '</td>'
+ '<tr>');
});
}
});
现在我正试图传递并获得更复杂的数据。