我想创建一个具有角色的登录模块。我有两个表Users和UserType。 问题是单击登录后,它不会重定向到分配的页面,而是仍在登录页面中。 这是Login.cs代码
受保护的无效btnLogin_Click(对象发送者,EventArgs e) {
using (SqlConnection con = new SqlConnection(Helper.GetCon()))
{
con.Open();
string query = @"SELECT u.UserID, u.Username, u.Password, t.UserType FROM Users u INNER JOIN UserType t ON t.TypeID = u.TypeID WHERE Username=@Username AND Username=@Username";
//string query = @"SELECT UserID, Username, Password, TypeID FROM Users WHERE Username=@Username AND Username=@Username";
using (SqlCommand cmd = new SqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@Username", txtUsername.Text);
cmd.Parameters.AddWithValue("@Password", Helper.CreateSHAHash(txtPassword.Text));
DataTable dt = new DataTable();
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
while (dr.Read())
{
Session["UserID"] = dr["UserID"].ToString();
}
if (dt.Rows.Count != 0)
{
string Utype;
Utype = dt.Rows.ToString().Trim();
if (Utype == "HR Admin")
{
Session["Username"] = txtUsername.Text;
Response.Redirect("~/Administrator/Home.aspx");
}
if (Utype == "Employee")
{
Session["Username"] = txtUsername.Text;
Response.Redirect("~/HrPortal/Home.aspx");
}
}
}
else
{
error.Visible = true;
}
}
}
}
}