在文本框OnTextChanged事件上,回发周期触发两次。两种方法的断点都可以理解问题。 这是我的代码示例
<form id="form1" runat="server">
<div>
<asp:TextBox runat="server" ID="TextBox1" OnTextChanged="TextBox1_TextChanged" AutoPostBack="true" />
</div>
<asp:Label ID="Label1" runat="server"></asp:Label>
</form>
它的代码背后。
public static int cycle { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
cycle++;
Label1.Text = cycle.ToString();
}
答案 0 :(得分:0)
避免使用AUTOPOSTBACK,保留OnTextChanged事件陷阱 并添加一个按钮(隐藏或不隐藏)以捕获文本框上的返回压力 产生POSTBACK。
这是一个例子
<asp:Panel runat="server" CssClass="col-md-2">
<asp:Panel runat="server" CssClass="form-group input-group" DefaultButton="BTN_Cerca">
<span class="input-group-btn">
<asp:Button runat="server" ID="BTN_Cerca" Text="Codice" CssClass="btn btn-secondary" ToolTip="Cerca in magazzino"/>
</span>
<asp:TextBox runat="server" ID="TXT_Search" CssClass="form-control" placeholder="Numero Articolo" OnTextChanged="TXT_Search_TextChanged" />
</asp:Panel>
</asp:Panel>