我正在ASP.net(C#)开展一个项目,我对asp:Panel有一些麻烦。
基本上,我有一个asp:UpdatePanel,其中有一个asp:Panel; 我也有asp:TextBox和一个按钮。 我想要做的是:当用户在asp:TextBox中输入文本,然后点击按钮时,TextBox中的文本应该在asp:Panel中显示为Linkbutton。方法如下所示:
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);
}
它有效,并且它将文本作为linkButton添加到面板,但,当我想添加更多时,在被覆盖之前添加的linkButton。我想保留一些LIST<string>
变量,其中包含所有字符串,但每当页面PostBack
被删除时。
如果有人能告诉我如何解决它,我真的很感激 - 如何在UpdatePanel
的页面中保留变量(List&lt;&gt;),以便每PageLoad
我可以添加所有asp:Panel中列表中的字符串。
提前致谢。
答案 0 :(得分:1)
此代码适用于我,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;
}