[英]ASP.NET MVC 3 Server Side Validation Fails with Dropdown list collections in ViewModel
我有一個視圖,該視圖的類型嚴格到視圖模型,該視圖模型包含通過頁面上的表單提交的數據的屬性,以及用於填充我的下拉列表的集合。
在發布后,我檢查模型狀態是否有效,如果不是,我返回視圖,但是我得到一個空引用,因為視圖模型不再包含下拉列表的集合值。
在再次返回表單視圖之前,是否需要重新填充viewmodel的下拉列表集合?
控制器方式:
[HttpPost]
public ActionResult Create(UserProfileCreateViewModel viewModel)
{
if (ModelState.IsValid)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
return View();
}
是的,你必須。 Http是無狀態協議,ASP.NET MVC沒有回發或視圖狀態的概念。
如果ModelState.IsValid
設置為false
則應該重新創建適當的對象並將其發送回去。
是的,您需要補充水分。 綁定到模型的唯一內容是在表單發布中提交的內容。 因此,您可能會從下拉列表中而不是整個下拉列表中獲得所選項目的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.