SqlConnection con= new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select * from login where Email =@username and Password=@password and Activated_User=1 and User_Type=1", con);
cmd.Parameters.AddWithValue("@username", Login1.UserName);
cmd.Parameters.AddWithValue("@password", Login1.Password);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable ds = new DataTable();
da.Fill(ds);
if (ds.Rows.Count > 0)
{
Session["UID"] = Login1.UserName;
Response.Redirect("dashboard.aspx");
}
else
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
}
您好我是.NET新手 以上代码适用于LOGIN页面。 我想分别将管理员和用户重定向到不同的页面(dashboard.aspx和user-dashboard.aspx)。 User_Type = 1表示Admin,如果为2,则表示USER。
答案 0 :(得分:2)
你可以用这种简单的方法
SqlConnection con = new SqlConnection("Connection string");
con.Open();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand("select User_Type from TableName", con);
SqlDataAdapter da = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
da.SelectCommand = cmd;
da.Fill(ds);
if(ds.Tables[0].Rows.Count > 0)
{
int usertype = Convert.ToInt32(ds.Tables[0].Rows[0]["User_Type"]);
if(usertype==1)
{
Response.Redirect("dashboard.aspx");
}
else if(usertype==2)
{
Response.Redirect("user_dashboard.aspx");
}
}
else
{
//record is not in ur table
}
答案 1 :(得分:0)
那么问题是什么呢?为什么不将User_Type作为存储用户信息的表中的列放入数据库中,然后检索其值并在切换条件下将其用于将用户重定向到正确的页面。
例如
try{
con.Open();
cmd = new SqlCommand("select User_Type from TableName where username=@user", con);
cmd.Parameters.Add("@user", SqlDbType.Int).Value = "PersonName";
dr = cmd.ExecuteReader();
if (dr.HasRows == false)
{
throw new Exception();
}
if (dr.Read())
{
int Value = Convert.ToInt32(dr[0].ToString());
}
switch(Value)
{
case 1:
Response.Redirect("dashboard.aspx");
break;
case 2:
Response.Redirect("user_dashboard.aspx");
break;
}
}
catch
{
Result.Text = "THE GIVEN ID IS UNAVAILABLE";
}
finally
{
con.Close();
}
答案 2 :(得分:0)
这是因为@ janki没有在sql语句中使用WHERE子句。
使用类似select User_Type from TableName where username=@user
而不是select User_Type from TableName