ASP.NET 多次提交的解決辦法
更新時間:2008年12月25日 00:22:58 作者:
只要把這2個方法放到頁面最下面(就是調(diào)用scriptmanager的RegisterStartupScript方法)
它的原理是:asp.net頁面提交的時候會調(diào)用ValidatorOnSubmit方法(內(nèi)置的),我們利用js方法的覆蓋特性,把系統(tǒng)內(nèi)置的ValidatorOnSubmit替換成我們的版本,然后當(dāng)執(zhí)行ValidatorOnSubmit時屏蔽掉頁面上所有提交按鈕(也可以執(zhí)行你自己的方法)
//屏蔽所有提交按鈕
function disableOtherSubmit()
{
var obj = event.srcElement;
var objs = document.getElementsByTagName('INPUT');
for(var i=0; i<objs.length; i++)
{
if(objs.type.toLowerCase() == 'submit')
{
objs.style.display = 'none';
}
}
}
//覆蓋原有ValidatorOnSubmit方法,防止2次提交
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
if (ValidatorCommonOnSubmit()) {
disableOtherSubmit();
return true;
} else {
return false;
}
} else {
disableOtherSubmit();
return true;
}
}
//屏蔽所有提交按鈕
function disableOtherSubmit()
{
var obj = event.srcElement;
var objs = document.getElementsByTagName('INPUT');
for(var i=0; i<objs.length; i++)
{
if(objs.type.toLowerCase() == 'submit')
{
objs.style.display = 'none';
}
}
}
//覆蓋原有ValidatorOnSubmit方法,防止2次提交
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
if (ValidatorCommonOnSubmit()) {
disableOtherSubmit();
return true;
} else {
return false;
}
} else {
disableOtherSubmit();
return true;
}
}
相關(guān)文章
ClickOnce DIY全自動更新下載升級的自我實現(xiàn)
ClickOnce DIY全自動更新下載升級的自我實現(xiàn)...2007-08-08asp.net mvc4 mysql制作簡單分頁組件(部分視圖)
這篇文章主要介紹了asp.net mvc4 mysql制作簡單分頁組件,附部分視圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10在FireFox/IE下Response中文文件名亂碼問題解決方案
只是針對沒有空格和IE的情況下使用Response.AppendHeader()如果想在FireFox下輸出沒有編碼的文件,并且IE下輸出的文件名中空格不為+號,就要多一次判斷了,接下來將詳細(xì)介紹下感興趣的朋友可以了解下,或許對你有所幫助2013-02-02使用AjaxPro.Net框架實現(xiàn)在客戶端調(diào)用服務(wù)端的方法
AjaxPro.Net是一個優(yōu)秀的.net環(huán)境下的Ajax框架,用法很簡單,可以查閱相關(guān)資料,本文檔是一個簡單的實例講述使用AjaxPro的幾個關(guān)鍵點。2011-02-02ASP.NET(C#) Web Api通過文件流下載文件的實例
這篇文章主要介紹了ASP.NET(C#) Web Api通過文件流下載文件的方法,提供源碼下載,需要的朋友可以參考下。2016-06-06Visual Studio Debug實戰(zhàn)教程之?dāng)帱c操作
眾所周知斷點對于Visual Studio調(diào)試過程是十分重要的,斷點的設(shè)置也是為了更好的進行調(diào)試。下面這篇文章主要給大家介紹了關(guān)于Visual Studio Debug實戰(zhàn)教程之?dāng)帱c操作的相關(guān)資料,需要的朋友可以參考下2018-09-09