【问题标题】:return to previous view and show error where ModelState.IsValid is false返回上一个视图并在 ModelState.IsValid 为 false 时显示错误
【发布时间】:2015-09-10 15:30:30
【问题描述】:

我有一个问题,在 asp.net mvc 中,我用这个 url (rout) 创建一个视图来创建用户

mydomain.com/create/users/pos/voot

我用 rout 创建这个 url 并将这个 url 重定向到插入操作。 现在我想当 ModelState 不是 IsValid 返回视图并显示错误消息时,我想在后面,文本框的内容不干净并显示输入的数据。 怎么办? 我像这段代码一样做这个场景

return Redirect(Request.UrlReferrer.ToString());

在视野中

    foreach (ModelState modelState in ViewData.ModelState.Values)
    {
        foreach (ModelError error in modelState.Errors)
        {
            Response.Write(error.ErrorMessage);
        }
    }

但我的文本框内容干净且不显示错误。

【问题讨论】:

    标签: c# asp.net asp.net-mvc


    【解决方案1】:

    因此,您的控制器接收 post 请求将如下所示:

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Edit(Model model)
        {
            if (ModelState.IsValid)
            {
                // model is valid, proceed.
                return RedirectToAction("Success");
            }
            // This returns to the view with the errors
            return View(model);
        }
    

    【讨论】:

    • 并在您的视图中显示验证消息。
    • @AndyWiesendanger 感谢您的回答,但我做不到,因为我使用 rout ,当我这样做时,我重定向到 mydomain.com/create/users,但我想重定向到 mydomain。 com/create/users/pos/voot
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2015-05-25
    • 2018-02-16
    • 2011-02-22
    • 1970-01-01
    • 2022-12-18
    • 2019-09-11
    相关资源
    最近更新 更多