解决ASP.NET页面回车回发的问题

在asp.net页面中在文本框、按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValue = false;  但是这只能适用于IE,有些浏览器是不支持event.keyCode的,例如:火狐就是使用evt.which。

这里给大家一个方案,使用后感觉还行,如果有问题请多多包涵,给出建议:

页面代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" defaultbutton="Button1">
    <div>       
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" Enabled="False" style=" display:none" />       
        <br />
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:Button ID="Button2" runat="server" Text="Button" />       
    </div>
    </form>
</body>
</html>

 

1、先给页面的表单设置DefaultButton(这里设置的是Button1)。

  作用:回车时会以该按钮被点击来提交表单进行回发。

2、为Button1设置Enabled="False"

  作用:回车后发现Button1不能使用,所以这次提交也就不能成功了

3、如果不想看到这个Button1,就加上样式style=" display:none"进行隐藏

  注意:不能通过按钮的Visible来设置隐藏,因为这样隐藏回车还是会回发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值