在ASP.NET中,如果在點了一個按鈕,提交到後台執行期間,再點一次按鈕,會出現兩種情況,一種是執行了兩次後台代碼,另一種是等待前一次的提交動作執行完後再次執行提交動作,無論是哪一種,都是跑了兩遍後台代碼,這是很多情況下不希望出現的。
以下代碼在 IE、傲游極速模式下測試通過。
復制代碼 代碼如下:
<%@ 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>ODP連接測試</title>
<script>
function submitTest(btn) {
btn.value = "正在等待後台數據更新";
btn.onclick = onDealing;
}
function onDealing() {
alert('處理中');
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="注冊" onclick="Button1_Click" OnClientClick="submitTest(this);" />
</div>
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>