当前位置:编程学习 > C#/ASP.NET >>

求助:关于session的问题

我想利用 Session["users_name"].ToString() 来显示“某某用户成功登录”,但是运行之后怎么是“用户System.Data.SqlClient.SqlDataReader登录成功 ”????? --------------------编程问答-------------------- Session["users_name"]保存的对象不对。 --------------------编程问答-------------------- Session["users_name"]保存一个字符串就OK了。 --------------------编程问答-------------------- 把你 Session["users_name"]赋值的部分贴上来 --------------------编程问答-------------------- 主要是看你保存的是对象还是字符串 --------------------编程问答--------------------
引用 1 楼 jxyxhz 的回复:
Session["users_name"]保存的对象不对。

我的代码是这样的: protected void Page_Load(object sender, EventArgs e)
    {
        string connStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["db"].ToString();
        conn = new SqlConnection(connStr);

        if (Session["users_name"] == null)
        {
            Response.Write("<script>window.alert('您还未登录!')</script>");
            Server.Transfer("~/Index.aspx");
        }
        else
            if (!Page.IsPostBack)
            {
                Label1.Text = "用户" + Session["users_name"].ToString() + "登录成功";
            }
    }
  但是运行后就显示“用户System.Data.SqlClient.SqlDataReader登录成功 ”。为什么呢? --------------------编程问答-------------------- 我的代码是这样的: protected void Page_Load(object sender, EventArgs e)
    {
        string connStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["db"].ToString();
        conn = new SqlConnection(connStr);

        if (Session["users_name"] == null)
        {
            Response.Write("<script>window.alert('您还未登录!')</script>");
            Server.Transfer("~/Index.aspx");
        }
        else
            if (!Page.IsPostBack)
            {
                Label1.Text = "用户" + Session["users_name"].ToString() + "登录成功";
            }
    }
  但是运行后就显示“用户System.Data.SqlClient.SqlDataReader登录成功 ”。为什么呢? --------------------编程问答--------------------
引用 3 楼 mngzilin 的回复:
把你 Session["users_name"]赋值的部分贴上来

我的代码是这样的: protected void Page_Load(object sender, EventArgs e)
    {
        string connStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["db"].ToString();
        conn = new SqlConnection(connStr);

        if (Session["users_name"] == null)
        {
            Response.Write("<script>window.alert('您还未登录!')</script>");
            Server.Transfer("~/Index.aspx");
        }
        else
            if (!Page.IsPostBack)
            {
                Label1.Text = "用户" + Session["users_name"].ToString() + "登录成功";
            }
    }
  但是运行后就显示“用户System.Data.SqlClient.SqlDataReader登录成功 ”。为什么呢? --------------------编程问答-------------------- Session["users_name"] 值是怎么赋值的
SqlDataReader dr=cmd.ExecuteReader();

Session["users_name"] =dr["userName"].ToString();
--------------------编程问答--------------------
引用 6 楼 shawly 的回复:
我的代码是这样的: protected void Page_Load(object sender, EventArgs e)
  {
  string connStr = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["db"].ToString();
  conn = new SqlConnection……

楼主,你在哪里给Session["users_name"]赋的值??  --------------------编程问答--------------------
引用 7 楼 shawly 的回复:
引用 3 楼 mngzilin 的回复:
把你 Session["users_name"]赋值的部分贴上来

我的代码是这样的: protected void Page_Load(object sender, EventArgs e)
    {
        string connStr = System.Web.Configuration.WebConfigurationMana……
session在哪赋值呢?应该是赋值出了问题。。。。 --------------------编程问答-------------------- 你可以把用户名和密码传给数据库 判断是否正确
正确的话
再把session["UserName"]=txtUserName.Text;
txtUserName是用户用来输入用户名的地方 --------------------编程问答--------------------  if (!Page.IsPostBack)
  {
  if (Session["users_name"] == null)
  {
  Response.Write("<script>window.alert('您还未登录!')</script>");
  Server.Transfer("~/Index.aspx");
  }
  else
 
  Label1.Text = "用户" + Session["users_name"].ToString() + "登录成功";
  }
  } --------------------编程问答-------------------- 很明显你的session["users_name"]保存的是一个DataReader对象,你想取出其中的用户名,这样写肯定是返回类型了。
你贴出来的代码并没有session["users_name"]的赋值啊!
猜测:DataReader dr = (DataReader)session["users_name"];
      Label1.Text = "用户" + dr[0].ToString() + "登录成功";
--------------------编程问答-------------------- 估计你把 整个 System.Data.SqlClient.SqlDataReader对象存到session了
应该是用这个对象读取到数据,封装到user再存到session --------------------编程问答-------------------- Session没有赋值,看来楼上诸位说的是正确的,楼主试试wuyq11的代码,应该能解决问题
--------------------编程问答-------------------- 应该是赋值问题, --------------------编程问答-------------------- 楼主贴了这么多代码,却没发现有
session["users_name"]=¥#@¥@#¥¥@

的表达式。 --------------------编程问答-------------------- Session赋值不对。。 --------------------编程问答--------------------  先从数据库把用户名读出来,再赋给Session 然后往下传 --------------------编程问答-------------------- 贴了3次代码,硬是没把session中的赋值语句写出来,真晕~~~
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,