[常见问题解答]asp.net中如何回车触发指定按钮的事件
问题内容:
在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');");
问题内容:
在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');");
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>CSharpTemp</title>
<meta name=vs_defaultClientScript content="JavaScript">
<SCRIPT LANGUAGE="JavaScript">
<!--
// 响应回车键事件
function test()
{
if(event.keyCode == 13)
{
alert("响应回车键事件");
}
}
//-->
</SCRIPT> <script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
TextBox1.Attributes["onkeydown"] = "test();";
Response.Write("aaaa");
} override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
</script>
</head>
<body onload="Form1.TextBox1.focus();">
<form id="Form1" method="post" runat="server">
<p>焦点在TextBox里按回车键</p>
<asp:TextBox id="TextBox1" runat="server"/>
</form>
</body>
</html>
KeyPress
KeyUp
要仅在窗体级别处理键盘事件并且不允许其他控件接收键盘事件,请将窗体的 KeyPress 事件处理方法中的 KeyPressEventArgs.Handled 属性设置为 true。某些键,如 TAB、RETURN、ESCAPE 和箭头键,由控件自动处理。为使这些键引发 KeyDown 事件,必须在窗体上的每个控件中重写 IsInputKey 方法。用于重写 IsInputKey 的代码需要确定是否按下了某一个特殊键,并且需要返回一个 true 值。
{
if(e.KeyValue==13)
{
//你要执行地事件
}
}