C# Asp.net会话状态尝试在返回到页面时保留文本框的内容

C# Asp.net会话状态尝试在返回到页面时保留文本框的内容,c#,asp.net,C#,Asp.net,我有两页,一页有文本框和按钮,另一页有按钮和标签。我想做的是在第1页上的文本框的内容显示在第2页的标签上。然后当我点击按钮返回到第1页。预览第1页文本框中输入的内容。对不起,如果它让人困惑的话。这是我的密码 第1.aspx页 protected void Button1_Click(object sender, EventArgs e) { Session["fstName"] = txtBox.Text; Response.Redirect("Page2.aspx");

我有两页,一页有文本框和按钮,另一页有按钮和标签。我想做的是在第1页上的文本框的内容显示在第2页的标签上。然后当我点击按钮返回到第1页。预览第1页文本框中输入的内容。对不起,如果它让人困惑的话。这是我的密码

第1.aspx页

 protected void Button1_Click(object sender, EventArgs e)

 {      
 Session["fstName"] = txtBox.Text;
 Response.Redirect("Page2.aspx");
  }
第2.aspx页

protected void Page_Load(object sender, EventArgs e)
    {
        string a = Session["fstName"].ToString();
        lblPage2.Text = a;
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("WebForm1.aspx");
    }

返回
WebForm1.aspx
时,在哪里设置文本框的值?它应该与
Page2.aspx
上的标签非常相似。比如:

protected void Page_Load(object sender, EventArgs e)
{
    string a = Session["fstName"].ToString();
    txtBox.Text = a;
}
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
        if (Session["fstName"] != null)
        {
            string a = Session["fstName"].ToString();
            txtBox.Text = a;
        }
}
在最坏的情况下,您可能需要对其进行一些错误检查。可能是这样的:

protected void Page_Load(object sender, EventArgs e)
{
    string a = Session["fstName"].ToString();
    txtBox.Text = a;
}
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
        if (Session["fstName"] != null)
        {
            string a = Session["fstName"].ToString();
            txtBox.Text = a;
        }
}

从表面上看,这应该行得通。您遇到了什么错误?没有错误,返回第1页时文本框为空。您是否有可能在web.config中关闭了会话状态<代码>还是在页面上
EnableSessionState=“false”
我认为我不必在返回时设置值。我以为这就是会话状态的用途?是否可以添加put“string a=Session[“fstName”].ToString();lblPage2.Text=a;进入按钮单击第1页,还是进入第2页的页面加载?如果我感到困惑,很抱歉you@FrancisGall:会话状态在有状态服务器端上下文中保存该值,但它不会自动使用该值填充控件。在第二页中,您必须从会话状态和将其设置为控件的文本。为什么第一页上的控件会有任何不同?当页面加载时,如果会话状态中有值需要在该页面上,则需要从会话状态中获取这些值并将其放在该页面上。@FrancisGall:您不能从另一页在页面上设置控件,不。每次请求页面,该页面对象将被创建、初始化、使用其上的任何代码进行处理、发送给用户,然后被销毁。加载一个页面时,不存在其他页面。