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');");
这样代码就会正常工作了。