7
如何從視圖中檢查是否有特定的密鑰的任何錯誤的ModelState(關鍵是模型的關鍵領域)如何檢查asp.net mvc中的模型驗證錯誤?
如何從視圖中檢查是否有特定的密鑰的任何錯誤的ModelState(關鍵是模型的關鍵領域)如何檢查asp.net mvc中的模型驗證錯誤?
如果你還沒有,看看這個維基文章the MVC pattern。
請記住,您的觀點是只有應該負責顯示數據。因此,您應該儘量將視圖中的邏輯數量降至最低。如果可能的話,那麼,處理的ModelState錯誤(如的ModelState錯誤是失敗的模型綁定嘗試的結果),在你的控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
if (!ModelState.IsValid)
{
return RedirectToAction("wherever");
}
return View();
}
}
如果你有你的觀點來處理的ModelState錯誤,你可以這樣做這樣:
<% if (ViewData.ModelState.IsValidField("key")) { %>
model state is valid
<% } %>
但請記住,您可以用您的控制器完成同樣的事情,從而從您的視圖中刪除不必要的邏輯。要做到這一點,你可以放置的ModelState邏輯控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
if (!ModelState.IsValidField("key"))
{
TempData["ErrorMessage"] = "not valid";
}
else
{
TempData["ErrorMessage"] = "valid";
}
return View();
}
}
然後,在你看來,你可以參考TempData的消息,這減輕任何不必要的邏輯決策的看法:
<%= TempData["ErrorMessage"] %>