博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

asp.net 设置回车的默认按钮

Posted on 2010-04-07 21:29  狮子王  阅读(788)  评论(0编辑  收藏  举报

当我输入一个关键字想按回车键就可以搜索,但由于页面上还有其他的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');");

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