【发布时间】:2019-10-31 16:08:33
【问题描述】:
我在更新面板中有带有 auto postback = "true" 的文本框控件,当我将某些内容更改为文本框并且如果用户按下 "Alt + s" 时不会失去焦点,还有带有访问键 "Alt + s" 的保存按钮而不是需要调用文本框的第一个文本更改事件,然后应该触发一次保存单击事件,因为对文本更改事件进行了一些计算。在这种情况下,它首先触发文本更改事件,而不是调用保存单击事件,然后再次调用文本更改事件。
有没有什么好的方法来解决客户端或服务器端或从 sql 端的问题?
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="Txt_Val" runat="server" AutoPostBack="True"
OnTextChanged="Txt_Val_TextChanged"></asp:TextBox>
<asp:Button ID="Btn_Save" runat="server" OnClick="Btn_Save_Click"
Text="Save" AccessKey="S" ValidationGroup="S"/>
</ContentTemplate>
</asp:UpdatePanel>
protected void Btn_Save_Click(object sender, EventArgs e)
{
//Save data into database
}
protected void Txt_Val_TextChanged(object sender, EventArgs e)
{
// Some calculation
}
【问题讨论】:
-
不如将您的操作绑定到
events为text_changed和Save_click创建单独的方法,您可以从事件以及外部调用它们(为您ALT+S 的情况。)。