Page_Load事件中写入: If Not Page.IsPostBack Then al.Attributes.Add("onkeydown", "if(event.keyCode==13) document.formname.submit();") End Ifformname 为你的表单名,在<form runat="server">中指定。
其他所有 HTML 控件(默认情况下不提交窗体的 HTML 控件) 为该控件在 HTML 语法中包含一项 onclick 属性,并在该属性后添加一个分号 (;): <INPUT Type="Button" Runat="Server" Value="caption" onclick="clientfunction();" ...> 这样,在调用客户端提交脚本之前,将首先调用您的函数。
Web 服务器控件,包括按钮 (<asp:button>) 和其他控件(例如 <asp:checkbox>) 不能在 HTML 语法中为 Web 服务器控件指定客户端事件,而应在运行时使用如下服务器代码将事件属性添加到该控件中: Button1.Attributes.Add("onclick", "clientfunction();") 注意 对于 Button Web 服务器控件无需添加分号,因为该控件会自动提交页。
If Not Page.IsPostBack Then
al.Attributes.Add("onkeydown", "if(event.keyCode==13) document.formname.submit();")
End Ifformname 为你的表单名,在<form runat="server">中指定。
<script language="C#" runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
pwd1.Attributes.Add("onkeydown","if(event.keyCode==13) document.all.a1.click()");
if(Request.RequestType=="POST"){
if(Request["pwd1"]=="ceo")
label1.Text="You are good!";
else
label1.Text="error!";
}
}
</script>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form runat="server" id=f>
<asp:textbox ID="pwd1" runat="server"/><br>
<asp:button ID="a1" Text="ok" runat="server"/>
<asp:label ID="label1" runat="server"/>
</form>
</body>
</html>
Button Web 服务器控件 (<asp:button>)。
对于其他所有被指定为提交页的控件,会将一个小的客户端脚本写入页中,并在该控件被单击时调用此脚本来提交窗体。因此,这些控件已使用客户端 OnClick 事件来调用此提交脚本。可以为所有控件创建客户端 OnClick 处理程序,但需要选择使用每种控件的方式。下表总结了针对不同类型的控件采用的策略。控件 策略
HtmlInputButton,包括类型设置为 Submit、Reset 或 Image 的 HTML 服务器控件按钮 为该控件在 HTML 语法中包含一项 onclick 属性:
<INPUT Type="Submit" Runat="Server" Value="caption" onclick="clientfunction()" ...>
在服务器端,这些类型的按钮会引发 ServerClick 事件,而不是简单的 Click 事件。首先会引发客户端事件,然后提交窗体并处理服务器事件。
其他所有 HTML 控件(默认情况下不提交窗体的 HTML 控件) 为该控件在 HTML 语法中包含一项 onclick 属性,并在该属性后添加一个分号 (;):
<INPUT Type="Button" Runat="Server" Value="caption" onclick="clientfunction();" ...>
这样,在调用客户端提交脚本之前,将首先调用您的函数。
Web 服务器控件,包括按钮 (<asp:button>) 和其他控件(例如 <asp:checkbox>) 不能在 HTML 语法中为 Web 服务器控件指定客户端事件,而应在运行时使用如下服务器代码将事件属性添加到该控件中:
Button1.Attributes.Add("onclick", "clientfunction();")
注意 对于 Button Web 服务器控件无需添加分号,因为该控件会自动提交页。
好像是不认识document.all.a1
有没有更好的方法,在IE5下动作正常的
<%@ Page Language="C#" AutoEventWireup="true"%>
<script language="C#" runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
pwd1.Attributes.Add("onkeydown","if(event.keyCode==13) document.all.f.submit()");
if(Request.HttpMethod=="POST")
{
label1.Text=Request.Form["pwd1"];
}
}</script>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form runat="server" id=f>
<asp:textbox ID="pwd1" runat="server"/><br>
<asp:button ID="a1" Text="ok" runat="server" AutoPostBack="false"/>
<asp:label ID="label1" runat="server"/>
</form>
</body>
</html>
pwd1.Attributes.Add("onclick","if(event.keyCode==13){"+Page.GetPostBackEventReference(this.al)+"}";
}上面的代码如果在页面上有验证控件并且按钮al的CausesValidation没有设为false时会有问题,需要适当修改。--------------------------------
AspNetPager 免费分页控件4.2版发布,同时发布最新源代码,欢迎下载:http://www.webdiyer.com