所以我的应用程序中有两级级联下拉列表。当我填充root下拉并尝试使用第二级来回时,事情工作正常,但是假设我在我的2级中选择了一个元素,然后我将根下拉值更改为默认值(在我的情况下&#34) ; - 选择 - ")它抛出null异常。我知道这是因为第二级的linq在根表中找不到该值的记录。任何人都可以建议在这种情况下我该怎么办?但是,当我将运行时中的根更改为数据库中的某个其他值时,此问题不会出现问题,在这种情况下,第二级会填充更改的值集。建议,拜托?
这是我的参考资料:
var departmentsQuery = (from e in db.Batch
where e.U_BCode == id
select e.U_CCode).First();
var departmentsQuery1 = (from e in db.Class
where e.U_CCode == departmentsQuery
select e).ToList();
ViewBag.SelectedDepartment = new SelectList(departmentsQuery1, "U_CLCode", "U_CLName");
return Json(ViewBag.SelectedDepartment, JsonRequestBehavior.AllowGet);
答案 0 :(得分:0)
也许尝试使用FirstOrDefault()
,因为它会返回null
而不是抛出异常:
var departmentsQuery1 = (from e in db.Class
where e.U_CCode == departmentsQuery
select e).FirstOrDefault();
if (departmentsQuery1 == null)
//return your default "--Select--" list