次のような Login.aspx ページがあります。
<asp:Login ID="MainLogin" runat="server" onloggingin="MainLogin_LoggingIn"></asp:Login>
分離コード:
protected void MainLogin_LoggingIn(object sender, LoginCancelEventArgs e)
{
SqlConnection myConnection = new SqlConnection(DBConnection.GetConnectionString());
SqlCommand myCommand = new SqlCommand("SELECT * FROM Users WHERE login=@login and pass=@pass", myConnection);
myCommand.Parameters.AddWithValue("login", MainLogin.UserName);
myCommand.Parameters.AddWithValue("pass", MainLogin.Password);
myCommand.Connection.Open();
SqlDataReader Reader = myCommand.ExecuteReader();
while (Reader.Read())
{
Session["curUserRole"] = Reader["role"].ToString();
Session["curUserLogin"] = MainLogin.UserName;
FormsAuthentication.RedirectFromLoginPage(MainLogin.UserName, MainLogin.RememberMeSet);
return;
}
//Reader.Close();
//myCommand.Connection.Close();
//myConnection.Close();
}
ユーザーはログイン名とパスワードを入力し、コンポーネントの「ログイン」ボタンを押してログインします。ユーザーがログイン名とパスワードを入力してキーボードの Enter キーを押すと、login.aspx ページが再読み込みされます。それを修正する方法は?キーボードで ENTER を押すと、コンポーネントのログイン ボタンを押すのと同じ動作が必要です。