这是从遵循: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