[英]How to login windows application using c# just like sessions in asp.net?
[英]authenticating login level using sessions in asp.net c#
我有一个简单的登录页面,我已经使用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();
您的代码请求一个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;
}
对于初学者,您需要将Session["level"]
强制转换为int
,然后使用string
检查是否相等(或尝试这样做)。 其次,您要对要检查的值使用单引号。 这段代码可以编译吗? 你有异常处理吗? 我的猜测是它出错并且根本无法运行。 您可以发布完整代码吗?
TheGeekYouNeed是正确的。 您首先应该尝试从要检查的整数值中删除单引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.