首页 > 解决方案 > ModelState.AddModelError VS ViewBag.Error

问题描述

到目前为止,我知道两种在视图上显示错误消息的方法

  1. 使用ViewBag
  2. 使用ModelState.AddModelError

我很好奇推荐的方式是什么,为什么?

很多次我都听说过将其ViewBags用于临时消息,并且人们建议完全避免使用ViewBags

使用 ViewBag

 @if (ViewBag.err != null)
 {
     <label class="text-danger">@ViewBag.err</label>
 }

使用 ModelState.AddModelError

 if(result ==1)
 { 
     return RedirectToAction("Index");
 }
 else if(result ==2)
{ 
     ModelState.AddModelError("Ctrlplan", "Control plan already exist"); 
}
else
{
     return View(tblControlPlan);
}

请让我知道是否有更有效的方法来显示错误消息等临时内容。

标签: asp.net-mvcviewbagmodelstate

解决方案


推荐阅读