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