请看下面的代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="Div1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Create a TextBox" />
<asp:Button ID="Button2" runat="server" Text="Erase TextBox Text" />
</form>
</body>
</html>
..........................................
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
if (Request.Params.ToString().IndexOf("Button1") > 0)
{
CreateTextBox();
}
else
{
if (Request.Params.ToString().IndexOf("Button2") > 0)
{
TextBox txtbx = CreateTextBox();
txtbx.Text = "";
}
}
}
}
TextBox CreateTextBox()
{
TextBox txtbx = new TextBox();
Div1.Controls.Add(txtbx);
return txtbx;
}
在 PostBack 上,我检查是否按下了“Button1”或“Button2”。
我按下Button1并动态创建一个 TextBox。
我在 TextBox 中输入了一些文本,然后再次按 Button1。重新创建了 TextBox,并且我输入的文本保留在 PostBack 上。
当我按下Button2时,我想重新创建 TextBox,但我想删除我之前输入的文本。但即使我指定了 txtbx.Text = ""文本仍然在 PostBack 之后保留。
如何重新创建 TextBox 但删除输入的文本?
(如果我按下 Button1,我希望保留文本,但如果我按下 Button2 则不保留)
谢谢你。