在控制器/AccountController.cs 中:
public class AccountController : Controller
{
//
// GET: /Account/Login
public ActionResult Login()
{
return View();
}
...
}
在 web.config 中:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" defaultUrl="~/Home/Index" name=".ASPXFORMSAUTH"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
在 Views/Account/Login.aspx 中:
<script runat="server" type="text/C#">
protected void Page_Load(object sender, EventArgs e) {...}
protected void OnAuthenticate(object sender, AuthenticateEventArgs e) {...}
protected void OnLoggedIn(object sender, EventArgs e){...}
protected void OnLoginError(object sender, EventArgs e){...}
</script>
...
<asp:Login ID="login1" runat="server"
DestinationPageUrl="~/Views/Home/Index.aspx"
OnAuthenticate="OnAuthenticate"
OnLoggedIn="OnLoggedIn"
OnLoginError="OnLoginError">
...
<asp:Button ID="loginButton" runat="server" CommandName="Login1" Text="Login" ValidationGroup="login1" TabIndex="4" />
...
</asp:Login>
Page_Load
被调用,但随后OnAuthenticate
,OnLoggedIn
和OnLoginError
从未被调用。这是为什么?
我正在使用 MVC,单击“登录”按钮后会发生什么我被带回 AccountController。这将返回 Login.aspx 视图,因此登录页面会重新加载。