我正在点击控制器,但是当我回到 javascript 时,返回的 JSON 格式不正确以填充选择列表。它以名称“System.Data.Entity.DynamicProxies.Course_C81CDD1DDC4D486F471F64D1F95990CD3518507F0B5BB9F718C0910A56B73D12”和每门课程的 Value=null 的形式返回。从控制器出来的数据很好并且查询正确,所以我的javascript代码有问题
这是我的控制器:
public JsonResult GetCourses(int facilityId)
{
return Json(GetCoursesSelectList(facilityId), JsonRequestBehavior.AllowGet);
}
private SelectList GetCoursesSelectList(int id)
{
var Courses = db.Courses.Distinct().Where(a => a.FacilityId == id).ToList();
SelectList list = new SelectList(Courses);
return list;
}
这是我的 JavaScript 函数:
$("#ddlFacility").change(function () {
var selectedFacility = $(this).val();
if (selectedFacility != null && selectedFacility != '') {
$.getJSON("@Url.Action("GetCourses")", { facilityId: selectedFacility }, function (courses) {
var coursesSelect = $('#ddlCourse');
coursesSelect.empty();
$.each(courses, function (index, course) {
alert(course.Course_Name);
coursesSelect.append($('<option/>', {
value: course.CourseId,
text: course.Course_Name
}));
});
});
}
});