Controllers / 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ビューが返されるため、ログインページがリロードされます。