asp.net 设置回车的默认按钮 (转载)

转载自:http://www.cnblogs.com/sunnysgh/archive/2010/04/07/1706722.html

 

当我输入一个关键字想按回车键就可以搜索,但由于页面上还有其他的Button,所以默认本不是我的搜索按钮,在网上搜了些解决方案,最多的是如下这种方式:

在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');");

但我加到我代码中,发现并没有实现我的功能,那是为什么呢?

原因就在于我使用了模板页Master,那么页面在被翻译成客户端的HTML代码之后我的Button名字改变了,

由bt_search变成了ctl00$ContentPlaceHolder1$bt_search

所以这时候只有在后台代码修改为tbInput.Attributes.Add("onkeydown","SubmitKeyClick('ctl00$ContentPlaceHolder1$bt_search');");

这样代码就会正常工作了。

posted on 2012-10-08 16:08  蓝蓝的天2016  阅读(1059)  评论(0编辑  收藏  举报