【问题标题】:How to display alert message box in asp.net core mvc controller?如何在 asp.net core mvc 控制器中显示警报消息框?
【发布时间】:2018-02-19 08:53:58
【问题描述】:

我想在帐户模型无效时显示警告消息框。 我应该如何在 Asp.Net Core MVC 的控制器中执行此操作? 这是我的控制器的代码

    [HttpPost]
    public IActionResult Index(Account model)
    {
        if (model.ID != null && model.PassWord != null)
        {
            using (var db = new AccountDBContext())
            {
                var account = db.Account.FirstOrDefault(
                                a => a.ID.Equals(model.ID) && a.PassWord.Equals(model.PassWord)
                              );

                if(account != null)
                    return RedirectToAction("Index", "Main");       

            }
            //I want to display error msg box...here like "Check ID or PW".
            ModelState.AddModelError("", "Error");

        }


        return View();
    }

我找了路,但在这个控制器类中没有“Page”标识符或“Response.write()”方法.... 我该怎么办?

附言 我这样检查模型验证的方式是正确的吗? (我使用模型并检查它的部分属性,而不是使用视图模型)

【问题讨论】:

    标签: asp.net-core-mvc


    【解决方案1】:

    在控制器中定义错误:

    ModelState.AddModelError("Error", "Check ID");
    

    然后在视图中显示:

    @if (!ViewData.ModelState.IsValid && ViewData.ModelState["Error"].Errors.Count > 0)
    {
        <div class="alert alert-
           <strong>Error!</strong> danger">@ViewData.ModelState["Error"].Errors.First().ErrorMessage
        </div>
    }
    

    编辑

    要显示警告框,请在视图中添加一些 javascript,以下使用 jquery:

    <head>
        <script type="text/javascript">
            @if (!ViewData.ModelState.IsValid && ViewData.ModelState["Error"].Errors.Count > 0)
            {
                <text>
                $(document).ready(function() {
                    alert('@ViewData.ModelState["Error"].Errors.First().ErrorMessage');
                });
                </text>
            }
        </script>
    </head>
    

    【讨论】:

    • OP 已询问如何使用 警报消息框
    • 感谢您的回答!但如果它无效,我会放在下面。 然后出现这样的错误。
    • 我修复了一个小错误,我刚刚测试了它,应该做你想做的;)
    • 哦,非常感谢!! (ps:请问ViewData.ModelState["Error"].Errors.Count是什么意思?)
    猜你喜欢
    • 2011-09-21
    • 2022-07-27
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多