0

我有一个使用 asp.net c# 创建的简单登录页面。我试图做的是检索用户级别并将其分配给会话并根据级别重定向到适当的页面。但是当我登录时没有任何反应.. 下面是我的代码。有人可以告诉我我的代码有什么问题吗?

 con.Open();
        com.CommandText = "Select * from deatls Where c_id = '" + TextBox1.Text + "' and password = '" + TextBox2.Text + "'";
        com.CommandType = CommandType.Text;
        com.Connection = con;

        SqlDataReader sqlread = com.ExecuteReader();


        if (sqlread.Read())
        {
            Session["level"] = sqlread["level"];   
        }


        if ((int)Session["level"] == '1') 

            Response.Redirect("customer_menu.aspx");

        if ((int)Session["level"] == '2' )

            Response.Redirect("front.aspx");

        if  ((int)Session["level"] == '3')

            Response.Redirect("manager.aspx");

        else  
            Response.Redirect("login.aspx");

        con.Close();
4

2 回答 2

2

您的代码正在请求switch声明,如下所示:

switch (Session["level"].ToString())
{
    case "1":
        Response.Redirect("customer_menu.aspx");
        break;
    case "2":
        Response.Redirect("front.aspx");
        break;
    case "3":
        Response.Redirect("manager.aspx");
        break;
    default:
        Response.Redirect("login.aspx");
        break;
}
于 2013-07-11T17:49:04.313 回答
1

对于初学者,您正在转换Session["level"]为 anint然后检查是否与 a 相等string(或尝试)。其次,您对要检查的值使用单引号。这段代码能编译吗?你有异常处理吗?我的猜测是它出错并且根本不运行。你能发布完整的代码吗?

TheGeekYouNeed 是对的。您应该首先尝试从要检查的整数值中删除单引号。

于 2013-07-11T17:43:51.507 回答