解決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來設置隱藏,因為這樣隱藏回車還是會回發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM