2012-10-14 101 views
1

我的主頁上有一個登錄表單。它的工作原理 - 但如果pw錯誤,我想顯示一條錯誤消息。我的代碼如下。我如何返回到同一頁面,但在索引方法中檢索模型狀態錯誤?MVC4在首頁登錄時顯示模型狀態錯誤信息登錄

[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"); 

     } 

回答

1

編輯

由於您使用的是RedirectToAction方法在我腦海中會使用到TempData對象的選項。

在控制器方法:

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

在你看來,你可以檢查是否設置消息,並顯示它,如果它是。

@if(TempData["ErrorMessage"] != null) 
{ 
    <p class="errorMessage">@TempData["ErrorMessage"]</p> 
} 
+0

事情是我不認爲索引方法知道有一個錯誤bc我正在使用返回RedirectToAction(「索引」)。 – nerdperson

+0

謝謝!很棒。希望在三個月內我會得到MVC的處理... – nerdperson