以下のコードを参照してください。
<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を押してもテキストは保持されません)
ありがとうございました。