在我的控制器中,我正在獲取一些數據來填充視圖中的組合框。當數據發佈時,我檢查MVC 4驗證NullReferenceException當返回查看空模型數據
ModelState.IsValid
屬性,如果沒有,我需要返回視圖來顯示驗證消息錯誤。但是,該模型只包含發佈的數據,另一個需要加載組合框爲空,並引發NullReferenceException。哪種解決方法是正確的?
public ActionResult Index(){
CourtBussines courtBussines = new CourtBussines();
IList<Court> courts = new List<Court>();
courts.AddRange(courtBussines.GetCourtsOpenedList());
CourtSelectionModel courtSelectionModel = new CourtSelectionModel{Courts = courts, SelectedCourtId = -1};
return View(courtSelectionModel);
}
[Authorize]
[HttpPost]
public ActionResult Index(CourtSelectionModel courtSelectionModel){
if (!ModelState.IsValid){
return View(courtSelectionModel); //Here, the data to load combobox is null and fails.
}
return RedirectToAction("Horarios", courtSelectionModel);
}
您必須在每次調用視圖時重新加載組合框的數據!你應該發佈你的觀點和例外! – Fals
@Oscar:在View的加載事件中,組合框需要它的項目。所以,只要你加載頁面,你必須提供組合框項目來查看。 –