在下面的代码中,单击按钮后,TextBox值没有被清除。文本框值未被清除
的Default.aspx的按钮点击
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="20">
</asp:Timer>
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger controlid="Timer1" eventname="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Repeater ID="Shout_Box" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Message") %>
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:TextBox ID="TextBox1" runat="server">
</asp:TextBox>
</form>
</body>
</html>
C#代码。
protected void Button1_Click(object sender, EventArgs e)
{
string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" + "DATABASE=repeater;" + "UID=root;" + "PASSWORD=********;" + "OPTION=3";
OdbcConnection MyConnection = new OdbcConnection(MyConString);
OdbcCommand cmd = new OdbcCommand("INSERT INTO table1(message)VALUES(?)", MyConnection);
cmd.Parameters.Add("@email", OdbcType.VarChar, 255).Value = TextBox1.Text;
MyConnection.Open();
cmd.ExecuteNonQuery();
MyConnection.Close();
TextBox1.Text = "";
}
我试着添加一行如上TextBox1.Text = "";
来清除文本但没用。 请不要让我将Button保持在updatepanel标签之外。我需要完成该事件而不回发该页面。
如果TextBox在里面由于定时器触发了20个fsecs,文本框太闪烁,不允许编辑。简单地说,TextBox正在刷新,并且不允许添加一点文本。
我不希望将其扩展到JavaScript和其他文本框中清除值。任何人都可以告诉我如何使用C#清除文本框的值。
如果TextBox在' ContentTemplate>中 asp:UpdatePanel>'由于定时器触发了20个fsecs,文本框也是如此闪烁并且不允许编辑。简单地说,TextBox正在刷新,并且不允许添加一点文本。 – Mal
那么你需要找出另一种解决方案,是吗?第二个没有定时器的更新面板怎么样? –