這是從遵循:MVC Partial Login ControlMVC部分Login控件返回查看
我拿到的AccountController登錄事件後,從我的孩子控制觸發。我現在遇到的問題是,當用戶輸入不正確的密碼時,AccountController登錄帖子會嘗試返回到Logon.aspx頁面而不是我的登錄部分控件。這是從控制器的代碼:
<HttpPost()> _
Public Function LogOn(ByVal model As LogOnModel, ByVal returnUrl As String) As ActionResult
If ModelState.IsValid Then
If MembershipService.ValidateUser(model.UserName, model.Password) Then
FormsService.SignIn(model.UserName, model.RememberMe)
If Not String.IsNullOrEmpty(returnUrl) Then
Return Redirect(returnUrl)
Else
Return RedirectToAction("Index", "Home")
End If
Else
ModelState.AddModelError("", "The user name or password provided is incorrect.")
End If
End If
' If we got this far, something failed, redisplay form
Return View(model)
End Function
Im傳遞returnUrl在所以如果用戶輸入正確的細節,它完美的作品。但是我想要它做的是,如果他們輸入了錯誤的細節,就是在我的子控件上顯示「提供的用戶名或密碼不正確」。
任何想法?
感謝
嗨Doozer,謝謝你的迴應。基本上我的部分(用戶控件)登錄控件位於我的主頁(Html.RenderPartial(「UsrCtlLogin」))。 當用戶登錄時,我想讓它重定向到他們的個人資料頁面。如果他們提供不正確的細節比我希望它留在主頁上,只是在登錄部分控制內顯示一條消息說不正確的細節... 我試過你的返回PartialView(「UsrCtlLogin」,模型)的建議,但它只是重定向到PartialView本身(partialview現在佔據了整個頁面)。 任何想法? – Matt 2010-08-31 23:48:20
也許我沒有得到這個正確的(這是凌晨1點:)),但在logon.aspx頁面沒有<%Html.RenderPartial(「Logon」); %> – MrBliz 2010-09-01 00:09:15
從你之前的問題看,你已經在你的視圖中得到了一個驗證摘要信息,所以在技術上你不需要在你的控制器中提供一個。你有沒有遇到過數據註解類?它確實節省了很多麻煩.... – MrBliz 2010-09-01 00:12:25