加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在asp.net mvc中检查模型验证错误?

发布时间:2020-12-16 04:10:43 所属栏目:asp.Net 来源:网络整理
导读:如何检查View内部是否存在特定键的任何ModelState错误(键是模型的字段键) 解决方法 如果您还没有,请查看 the MVC pattern上的这篇wiki文章. 请记住,您的视图应该只负责显示数据.因此,您应该尽量将视图中的逻辑数量保持在最低水平.如果可能,则在控制器中处理M
如何检查View内部是否存在特定键的任何ModelState错误(键是模型的字段键)

解决方法

如果您还没有,请查看 the MVC pattern上的这篇wiki文章.

请记住,您的视图应该只负责显示数据.因此,您应该尽量将视图中的逻辑数量保持在最低水平.如果可能,则在控制器中处理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"] %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读