asp.net 回车激发指定按钮事件

来源:互联网 发布:淘宝商品摄影接单 编辑:程序博客网 时间:2024/04/24 19:56

asp.net 回车激发指定按钮事件

方法一

假设:
<asp:TextBox id="tbInput" runat="server" Width="240px"></asp:TextBox>
<asp:Button id="btnOK" runat="server" BorderWidth="1px" BorderColor="Purple" BorderStyle="Solid" Text="Search Site"></asp:Button>

解决方法:
在.aspx页面中添加:
<SCRIPT LANGUAGE="javascript">
function SubmitKeyClick(button)
{   
if (event.keyCode == 13)
{       
event.keyCode=9;
event.returnValue = false;
document.all[button].click();
}
}
// -->
</SCRIPT>

在Page_Load事件中添加:
tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');");

s

但我加到我代码中,发现并没有实现我的功能,那是为什么呢?
原因就在于我使用了模板页Master,那么页面在被翻译成客户端的HTML代码之后我的Button名字改变了,
由bt_search变成了ctl00$ContentPlaceHolder1$bt_search
所以这时候只有在后台代码修改为tbInput.Attributes.Add("onkeydown","SubmitKeyClick('ctl00$ContentPlaceHolder1$bt_search');");
这样代码就会正常工作了。

 

方法二

利用<asp:Panel>分离button

<asp:ImageButton ID="GetBackPwd" runat="server" SkinID="GetBackPwd"  onlick="getpwd"   />

<asp:Panel ID="panLogin" runat="server"   DefaultButton="Login">

<asp:TextBox ID="txbUserName" runat="server" ></asp:TextBox>

<asp:TextBox ID="txbPwd" runat="server"  TextMode="Password"></asp:TextBox>


<asp:ImageButton ID="Login" runat="server" SkinID="login"  OnClick="Login_Click" />

 <asp:ImageButton ID="Register" runat="server"  SkinID="Register"  onclick="reg">

</asp:Panel>

这样回车只会激发Login_Click事件

因为pane 的DefaultButton="Login"