现在的位置: 首页 > 综合 > 正文

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

2012年09月26日 ⁄ 综合 ⁄ 共 1250字 ⁄ 字号 评论关闭

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"

抱歉!评论已关闭.