1

我的主页上有一个登录表单。它有效 - 但如果密码错误,我想显示错误消息。我的代码如下。如何返回到同一页面但在 Index 方法中检索模型状态错误?

[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public ActionResult HomeLogin(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }

            // If we got this far, something failed, redisplay form
            ModelState.AddModelError("", "The user name or password provided is incorrect.");
            return RedirectToAction("Index");

        }
4

1 回答 1

1

编辑

由于您使用的是 RedirectToAction 方法,因此我想到的选项是使用 TempData 对象。

在控制器方法中:

TempData["ErrorMessage"] = "The user name or password provided is incorrect.";

在您的视图中,您可以检查消息是否已设置,如果已设置则显示。

@if(TempData["ErrorMessage"] != null)
{
    <p class="errorMessage">@TempData["ErrorMessage"]</p>
}
于 2012-10-14T00:30:49.007 回答