protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["username"] != null)
                {
                    this.tabload.Visible = true;
                    this.tabloading.Visible = false;
                }
            }
                    }        protected void btnLoad_Click(object sender, EventArgs e)
        {
            
            string ckcode = txtCode.Text.Trim().ToUpper();
            string rightCode = Session["Code"].ToString();            if (ckcode != rightCode)
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message",
                   "<Script language='javascript'>alert('登陆失败,验证码错误!');</script>");
                return;
            }
            
                string uname = txtName.Text.Trim();
                string upw = txtPw.Text.Trim();                bool islogin = new UsersInfoManager().IsExists(uname, upw);
                if (islogin)
                {
                    Session["username"] = uname;
                    Response.Redirect(Request.CurrentExecutionFilePath);
                    
                }
                else
                {
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "message",
                 "<Script language='javascript'>alert('用户名、密码错误!');</script>");
                    
                }
        }        protected void LinkButton2_Click(object sender, EventArgs e)
        {
          
            Response.Redirect("ChangeUserPw.aspx");
        }
我想传递到ChangeUserPw.aspx却什么也没有,我登陆是成功了,就是不能把Session["username"]传递到一个页面

解决方案 »

  1.   

    你是在登录成功后,将Session值写入,然后跳转到ChangeUserPw.aspx页面的嘛?
      

  2.   

    Redirect是会经常碰到Session丢失的情况我一般是写成Response.Redirect(“~/default.aspx”, false)
    注意第二个参数但根据网上有些说法,这样还是有时候避免不了因此我常规的作法是尽可能地少用Session另外,楼主的这段代码应当去参考ASP.NET Form认证,谷哥或度娘一下
      

  3.   

    调试一下,看看有没有执行  Session["username"] = uname;
    如果执行了,那你可以重新建一个测试项目,测试一下是否能取到Session,
    如果能取到那么说明你正式项目里的配置有问题,
    如果不能取到那说明你运行环境有问题,因为我测试了,是可以的。祝你好运。
      

  4.   


    调试一下你的Session赋值。。看赋进去没
    也可能是丢session了。。
      

  5.   

    不是session没赋值成功就是丢失了  跳转用这Response.Redirect("ChangeUserPw.aspx");