如何解决按回车键激发Textbox的TextChanged事件的同时,激发Button的Onclick事件

我在做Web页面时,遇到这样一个问题:页面上有若干个Textbox输入框,和2个Button按钮。其中TextBox_B输入框是用来输入新增用户帐号的,当TextBox_B的输入内容发生变化,按回车键激发TextChanged事件,将调用TextChanged的事件处理程序,检索后台数据库,判断新输入的帐号是否已经存在,如果存在,给出一个提示框,用户按提示框的确认键后回到开始的输入状态。问题是,我按回车键激发了TextBox_B的TextChanged事件后,给出了提示框,同时也激发了Button_A的Click事件,而Button_A的Click事件处理程序将改变开始的页面输入状态。

 

这个问题原因是:TextBox_B的autopostback属性没有设置为True。如果设置为True,那么按回车键激发TextBox_B的TextChanged事件就不会激发Button_A的Click事件。

 

如果希望按回车键激发TextBox_B的TextChanged事件的同时实现Tab键的转换控件焦点的功能,则应该在设置TextBox_B的autopostback属性没有设置为True的同时,在aspx页面的Load事件中添加

TextBox_B.Attributes.Add("onkeydown","if(event.keyCode==13){event.keyCode=9;}");

 

如果仅仅在aspx页面的Load事件中添加以上语句,则只会将回车键转换成Tab键,而不会同时激发TextBox_B的TextChanged事件

你可能感兴趣的:(ASP.NET)