`

ASP.NET中防止页面多次提交的代码实现【转】

阅读更多
Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.

//ASP.NET中防止页面多次提交的代码:javascript< script language="javascript"> < !-- function disableOtherSubmit() {
var obj = event.srcElement;
var objs = document.getElementsByTagName('INPUT');
for(var i=0; i< objs.length; i++)
{
if(objs[i].type.toLowerCase() == 'submit')
{
objs[i].disabled = true;
}
}
} //--> < /script>//ASP.NET中防止页面多次提交的代码:asp.netpublic class PreventMultiClick : System.Web.UI.Page {
protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.LinkButton LinkButton1; protected System.Web.UI.WebControls.Button Button3; private void Page_Load(object sender, System.EventArgs e)
{
this.GetPostBackEventReference(this.Button3);
//保证 __doPostBack(eventTarget, eventArgument) 正确注册 if(!IsPostBack)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("if (typeof(Page_ClientValidate) == 'function')
{
if (Page_ClientValidate() == false)
{
return false;
}
}"); //保证验证函数的执行 sb.Append("if(window.confirm('are you sure?')==false) return false; ");
//自定义客户端脚本 sb.Append("disableOtherSubmit(); ");
// disable所有submit按钮 sb.Append(this.GetPostBackEventReference(this.Button3));
//用__doPostBack来提交,保证按钮的服务器端click事件执行 sb.Append("; ");
Button3.Attributes.Add("onclick",sb.ToString());
}
} #region Web Form Designer generated code override protected void OnInit(EventArgs e)
{
// // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent();
base.OnInit(e);
}
/// < summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// < /summary> private void InitializeComponent()
{
this.Button3.Click += new System.EventHandler(this.Button3_Click); this.Load += new System.EventHandler(this.Page_Load);
}
#endregion private void Button3_Click(object sender, System.EventArgs e)
{
System.Threading.Thread.Sleep(3000);
Response.Write("Hello world!");
}
} 此处只是disable掉所有的submit button, 我觉得其它的可提交控件也是可以通过类似的方法来disable的.
分享到:
评论

相关推荐

    asp.net知识库

    如何在Asp.Net1.1中实现页面模板(所谓的MasterPage技术) Tool Tip 示例(FILTER版) Tool Tip示例 (htc版) 一个.net发送HTTP数据实体的类 按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的...

    风越.net代码生成器 v3.5

    默认提供asp、aspx WEB程序、.net普通三层框架程序、.net Windows程序,多种代码框架及多个界面设计模板,均可任意修改管理。通过自定义生成程序的界面风格与输出代码,用户可将其扩展为ASPX/ASP/PHP/JSP等各种程序...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    内置的.net代码框架,能建立C#语言的.net解决方案,可在VS2005中直接编辑,既能帮助.net初学者快速入门,更可最大限度提高.net程序员的代码编写效率。 01、支持生成的ASPX/ASP/PHP/JSP等页面在本机自动发布、调试...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    风越.net代码生成器v2.9

    默认提供asp、aspx WEB程序、.net普通三层框架程序、.net Windows程序,多种代码框架及多个界面设计模板,均可任意修改管理。通过自定义生成程序的界面风格与输出代码,用户可将其扩展为ASPX/ASP/PHP/JSP等各种程序...

    风越ASP代码生成器2.8

    默认提供asp、aspx WEB程序、.net普通三层框架程序、.net Windows程序,多种代码框架及多个界面设计模板,均可任意修改管理。通过自定义生成程序的界面风格与输出代码,用户可将其扩展为ASPX/ASP/PHP/JSP等各种程序...

    风越asp代码生成器 V3.5

    默认提供asp、aspx WEB程序、.net普通三层框架程序、.net Windows程序,多种代码框架及多个界面设计模板,均可任意修改管理。通过自定义生成程序的界面风格与输出代码,用户可将其扩展为ASPX/ASP/PHP/JSP等各种程序...

    控制页面按钮在后台执行期间不重复提交的JS方法

    在ASP.NET中,如果在点了一个按钮,提交到后台执行期间,再点一次按钮,会出现两种情况,一种是执行了两次后台代码,另一种是等待前一次的提交动作执行完后再次执行提交动作,无论是哪一种,都是跑了两遍后台代码,...

    风越ASP代码生成器FireAspCreatorv2.9.rar

    《风越代码生成器 [FireCode Creator]》是一款采用.Net FrameWork2.0框架,基于多种数据库的程序代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索页面。通过界面模板与代码模板管理功能,可自定义...

    ASP200问.EXE

    128.如何防止表单被多次提交 129.如何防止表单在网站外被提交 130.如何解决表单发送数据小于100KB的问题 131.如何在表单中动态添加文本框 132.如何解决下拉列表出现选项重复的问题 133.如何实现在下拉列表中输入文字...

    风越ASP代码生成器 2.4

    《风越ASP代码生成器 [FireAsp Creator]》是一款采用.Net FrameWork2.0框架,基于Microsoft SQL Server及Microsoft Access数据库的ASP代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索页面。...

    漂亮且完整的HTML5信息注册页面及后台实现

    使用Ajax进行提交,通过Cookies防止用户多次提交,后台使用asp.net接受ajax请求,并将数据插入数据库,整个项目从前端到后台还是比较完整的,里面不含数据库,数据库可以震惊aspx里面的字段代码自行创建。...

    ExtAspNet_v2.3.2_dll

    -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    先在这里修改目录及入口名称提交保存,然后到网站目录中把admin重命名,及admin_login.asp重命名,与刚刚设置名称要相同。其它项可以默认使用即可!  (4)用户选项设置: 、一天可以取几次密码即为用户密码...

    商用版本文本编辑器DotNetTextBoxV6.0.8Source 源码

    2)更强大的Word文档导入编辑器功能,无需特殊的服务器权限或安装客户端组件,只要拥有最基本的ASP.NET读写文件权限即可实现导入Word文档,并且还支持最新的DOCX文档格式! 3)更细致的工具栏区域划分! 4)全新的可隐藏...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

    ASP ISchool随机抽题考试系统

    本程序定位于学校或企业单位进行非严格要求的随机抽题考试,系统采用考试项目数据库独立方式,虽采用了ACCESS数据库,但能支持长期的考试要求,至少能支撑2000次以上5000人规模(非同时考试)的在线考试任务。...

    枫叶江湖 v4.0

    很方便 改写了check.asp文件,修改了走火入魔的系统提示 修正对方离线后还可以对此人说话的问题 修正新注册用户花园出错问题 为了安全,防止站外提交数据 解决孤独冒险出错问题 修正运气会出现错误页面,并增加了...

    行业贸易商务门户网站系统正式版

    asp.net行业电子商务网站系统蓝色版下载,B2B电子商务平台、电子商务网站管理系统,专为各行业门户贸易网站设计的,ASP.NET编程的行业B2B电子商务系统全功能,利用B2B仿阿里巴巴电子商务网上贸易网站管理系统,可在全球...

    PJBLOG3海神扩展增强版3.0.6.170

    就是在发布日志时可以简单的插入QQ号码的在线状态按钮,点击后打开QQ临时对话窗口,需要发布的QQ显示状态风格改变时,请打开ubbcode.asp文件,查找这样一句代码http://wpa.qq.com/pa?p=1:$1:1修改这句代码中最后冒号...

Global site tag (gtag.js) - Google Analytics