【问题标题】:How do I view sessions in C#如何在 C# 中查看会话
【发布时间】:2015-03-26 02:23:46
【问题描述】:

登录页面中的代码需要其他页面上的代码才能读取会话

 protected void btnLogin_Click(object sender, EventArgs e)
{
    lblMessage.Text = loginService.userLogin(txtusername.Text, txtPassword.Text);
    string user = txtusername.Text;
    if (lblMessage.Text == "Logged In")
    {
        Response.Redirect("AMD.aspx?Name='"+user);
        Session["user"] = txtusername.Text;
    }
    else
    {
        Response.Redirect("loginPage.aspx");
    }
}

其他页面中的代码以在第 2 页调用会话,以便我可以查看我的会话

ServiceReferenceUsers.ServicePubsClient serviceObj = new ServiceReferenceUsers.ServicePubsClient();
protected void Page_Load(object sender, EventArgs e)
{
    lblMessage.Text = Request.QueryString["Name"].ToString();
    Session["User"] =  lblMessage.Text;
}
protected void btnLoad_Click(object sender, EventArgs e)
{
    DataTable myData = new DataTable();
    myData = serviceObj.viewUsers();

    GridView1.DataSource = myData;
    GridView1.DataBind();
}

【问题讨论】:

  • 不清楚你在问什么,但在btnLogin_Click 中你将Session["User"] 设置为用户名(看起来像那样),在Page_Load 中你用lblMessage.Text; 覆盖同一个会话如果您想将会话值设置为标签尝试为lblMessage.Text = Session["User"]
  • 您必须在重定向到另一个页面之前设置会话变量。您在两个地方也有不同大小写的 Session["user"],即在您的 btnLogin_click 事件处理程序中它是 Session["user"],而在 Page_Load 事件中它是 Session["User"]。是否打算有 2 个不同的会话用户变量?

标签: asp.net session


【解决方案1】:

改变

Session["User"] =  lblMessage.Text;

lblMessage.Text = Session["User"];

在您的第二页...飞行员错误? :)

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 2011-12-07
    • 2011-08-28
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多