欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net防止刷新时重复提交(可禁用工具条刷新按钮)】,下面是详细的讲解!
asp.net防止刷新时重复提交(可禁用工具条刷新按钮)
前段时间遇到了需要禁用刷新的需求,f5按钮就不说了,简单的js就能把它禁用,但是工具条上的刷新按钮却傻傻干不掉。如果简单的在刷新时重新加载画面,通过window.location.href="url"可以很容易的实现,但是需求是要求在刷新时什么都不做,保留画面的状态,这下子可就复杂化了。
asp.net中分辨请求是重新请求还是通过刷新按钮再次请求不是很方便,为了实现这个效果,试过了很多的方式,一下面的两种为例
1.
然后重写Page的LoadViewState与SaveViewState方法:
这种方法虽然能够实现,但是在某些请款下不适应。如果画面上同时存在文本框和按钮式,设置按钮的autopostback="True"时,在修改完文本框的值,直接点击按钮(在文本框没有失去焦点时,直接点击按钮),这时的执行顺序是textchanged→textchanged→buttonclick,在第一次textchanged时,就把状态已经变成了true,按钮的不能执行。
2.codeproject找到了另外一种解决方法
这种方式能够准确的判断是否是通过浏览器的刷新按钮进行的请求,而且使用起来也非常简单!
1.引用dll,修改配置文件
在配置文件中添加modules
PS:wbapplication的情况下需要改成在system.webServer的modules的节点下追加modules
2.定义刷新时的行为
RefereshHelper.IsPageRefreshed这个参数就是用来判断是否是通过浏览器的书刷新按钮进行的请求。其他的行为行为控制参照原文。PS:codeproject真是个不过的地方,很多问题都是通过它来解决的其他的方式不一一列举,列举的第二种方式可以说简单易用,所有的实现都已经为我们封装好了,只需要简单的调用。
关于asp.net防止刷新时重复提交(可禁用工具条刷新按钮)的用户互动如下:
相关问题:ASP.NET 中 按提交 按钮后 可以立即刷新当前页面数...
答:这个当然不会弹啦,类似这样就可以了: ClientScript.RegisterStartupScript(GetType(), "", "alert('操作成功');window.location.href='你的Url'"); 写成这样就行了! >>详细
相关问题:asp.net防止重复提交、重复刷新、后退页面过期的几...
答:简单操作方法防后退和刷新Page_Load中加入Response.Cache.SetNoStore();//Session中存储的变量“IsSubmit”是标记是否提交成功的if (!IsPostBack)if (Session["IsSubmit"]==null)Session.Add("IsSubmit",false);if ((bool)Session["IsSubmit"]){//... >>详细
相关问题:asp.net防止重复提交、重复刷新、后退页面过期的几...
答:简单操作方法防后退和刷新Page_Load中加入Response.Cache.SetNoStore();//Session中存储的变量“IsSubmit”是标记是否提交成功的if (!IsPostBack)if (Session["IsSubmit"]==null)Session.Add("IsSubmit",false);if ((bool)Session["IsSubmit"]){//... >>详细
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【服务器】asp.net页面状态管理cookie和服务器状
- 如何取消.net后台线程的执行
- 【WeakReference】WeakReference(弱引用)让GC需要
- 【ajax格式】asp.net中在用ajax格式传递数据到asp
- 【字符文本】asp.net 数据绑定 使用eval 时候报
- 【Repeater控件】.NET实现Repeater控件+AspNetPag
- 【客户端】获取客户端IP地址c#/vb.net各自实现代
- 【asp】asp.net上传execl文件后 在页面上加载显示
- 【JSON】浅析JSON序列化与反序列化-序列化-反序列
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
