首页 > 代码库 > 解决ASP.NET页面回车回发的问题
解决ASP.NET页面回车回发的问题
在asp.net页面中在文本框、按钮等服务器控件上回车都会导致页面回发,网上很多解决方案是使用JS来进行event.keyCode==13判断是否按下的回车键,如果是就event.returnValue = http://www.mamicode.com/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来设置隐藏,因为这样隐藏回车还是会回发
解决ASP.NET页面回车回发的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。