正在保存 asp:Panel 状态

Saving asp:Panel state

我正在 ASP.net (C#) 开发一个项目,我在 asp:Panel.

方面遇到了一些麻烦

基本上,我有一个 asp:UpdatePanel,其中我有一个 asp:Panel; 我还有 asp:TextBox 和一个按钮。 我想要做的是:当用户在 asp:TextBox 中输入文本,然后点击按钮时,TextBox 中的文本应该作为链接按钮出现在 asp:Panel 中。该方法如下所示:

   protected void AddExchange_Click(object sender, EventArgs e)
    {
        LinkButton link2 = new LinkButton();
        link2.Text = AddAdditionalTxt.Text;
 //   link2.Command += new CommandEventHandler(LinkButton_Command);


        ExchangePanel.Controls.Add(link2);

    }

有效,它会将文本作为 linkBut​​ton 添加到面板,但是,当我想添加更多内容时,之前添加的 linkBut​​ton 会被覆盖。我想保存一些 LIST<string> 变量来保存所有字符串,但是每当页面 PostBack 它被删除时。

如果有人能告诉我如何解决它,我将不胜感激 - 我如何在具有 UpdatePanel 的页面中保留一个变量 (List<>),以便每个 PageLoad 我都可以添加所有asp:Panel.

列表中的字符串

提前致谢。

此代码对我有用,ViewState 将保持 List<string> 用户在页面中停留的时间

    protected void AddExchange_Click(object sender, EventArgs e)
    {
        List<string> stringList;
        if (ViewState["stringList"] == null)
            stringList = new List<string>();
        else
            stringList = ViewState["stringList"] as List<string>;

        stringList.Add(AddAdditionalTxt.Text);
        foreach (string myStr in stringList)
        {
            LinkButton link2 = new LinkButton();
            link2.Text = myStr;
            //   link2.Command += new     CommandEventHandler(LinkButton_Command);
            ExchangePanel.Controls.Add(link2);
        }
        ViewState["stringList"] = stringList;
    }