Если вы еще этого не сделали, ознакомьтесь с этой вики-статьей о шаблоне MVC .
Имейте в виду, что ваш просмотр только должен отвечать за отображение данных.Таким образом, вы должны попытаться свести к минимуму количество логики в вашем представлении.Если возможно, тогда обработайте ошибки 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"] %>