PlaceHolder 加载用户控件时,数据丢失问题。

我用session记录的值, 当第一次加载的时候 我点击的是BUTTON1,加载了两个文本框 我输入内容,然后再点击BUTTON2 这是由于我用session记录了值 这个时候 两个文本框的值不变。  怪就怪在,当我在点击BUTTON1是 又重新加载了那两个文本控件 我再输入内容 然后再点击BUTTON1时 文本框的内容就没了 在写入再点击BUTTON1时又有了 这个问什么啊?  谁知道怎么解决 。
代码在下面 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected override void OnInit(EventArgs e)
    {
        //在所有控件都已初始化且已应用所有外观设置后引发。使用该事件来读取或初始化控件属性。
        base.OnInit(e);
       
    }
    protected void Page_Load(object sender, EventArgs e)
    {
       
        if (!IsPostBack)
        {
            Session["AAA"] = null;
 
        }
        if (Session["AAA"] != null)
        {
            PlaceHolder1.Controls.Add((Control)Session["AAA"]);
        }

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Control a = base.LoadControl("WebUserControl.ascx");
        Session["AAA"] = a;
        PlaceHolder1.Controls.Clear();
        PlaceHolder1.Controls.Add(a);
    }
  

    protected override void OnPreRender(EventArgs e)
    {
       
        base.OnPreRender(e);
    }

}

慕桂英3389331
浏览 390回答 2
2回答

慕工程0101907

好像动态加载的控件状态是不会被保存的.
打开App,查看更多内容
随时随地看视频慕课网APP