そのため、ページを自分自身に送信してから、エラーが発生した場合は自分自身にリダイレクトするか、成功した場合は別の場所にリダイレクトしようとしています。
VB.NET で動作するサンプル コードがありますが、同じコードを C# で動作させようとしています。エラーは Page_Load の使用にあるように感じます-別の呼び出しを使用する必要があるように感じます。
コードが現在のように、受け入れられない無限のリダイレクト ループが発生します。
コードは次のとおりです。
<% @Page Language="C#" Debug="true" %>
<% @Import Namespace="System.Web" %>
<script language="C#" runat="server">
void Page_Load(object sender,EventArgs e) {
if( Request.Form["username"] == "admin" && Request.Form["password"] == "password") {
HttpContext.Current.Session["username"] = Request.Form["username"];
HttpContext.Current.Session["password"] = Request.Form["password"];
Response.Redirect("elsewhere.html");
}
else {
Response.Redirect("login.aspx?errors=1");
}
}
</script>
<!-- #include file="header.html" -->
<form action="" method="post">
<div id="errors">Incorrect Username or Password</div>
<div><span>Username:</span><input name="username" /></div>
<div><span>Password:</span><input name="password" type="password" /></div>
<div><input type="button" value="Login" id="loginbutton" /></div>
</form>
<!-- #include file="footer.html" -->
ありがとう!