ASP.NET 多次提交的解决办法

  它的原理是:asp.net页面提交的时候会调用ValidatorOnSubmit方法(内置的),我们利用js方法的覆盖特性,把系统内置的ValidatorOnSubmit替换成我们的版本,然后当执行ValidatorOnSubmit时屏蔽掉页面上所有提交按钮(也可以执行你自己的方法)

  //屏蔽所有提交按钮

  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;

  }

  }