ASP.NET多次点击提交按钮以及Session超时和丢失过期问题

1、ASP.NET防止多次点击提交按钮

对于一个按钮,要让变成恢色的,只要this.disabled=true就可以了,可是在.NET里,添加了OnClick事件后,就无法提交信息了。所以要加上以下代码。

<asp:Button ID="btnSub" runat="server" Text="回复" OnClick="btnSub_Click" />

btnSub.Attributes.Add("onclick", "this.value='正在提交中,请稍等……';this.disabled=true;" + this.GetPostBackEventReference(btnSub) + ";");

2、Session超时和丢失,如何让Sessioon永不过期

    //存储信息

    Session["myname"]="Lee";

    //获得信息

    myname=Session["myname"]'

    //清除Session Session.Clear()

    //从Session状态集合中移除所有的键和值。

    Session.Abandon()//取消当前Session会话

    Session超时和莫名丢失的处理。

    原因:

            2.1:服务器内在不中致Session丢失。

            2.2:程序有框架页面和跨域情况。

            2.3:改动global.asax,web.config.bin目录下的东西,导致 web application重启

            2.4:杀毒软件扫描web.config,也会导致Session丢失

            2.5:程序内部有让Session丢失的代码

    修改:

            a.修改Web.config中的timeout的时效时间。

            b.建议让网站使用独立的应用程序池。

            c.IIS设置Session超时时间:网站属性->主目录->配置->应用程序配置->选项,重新设置会话超时时间,默认为20分钟。

            d.在你的主页面里面嵌入一个框架页iframe,设置宽度和高度为0。

在里面的加载面面的<head>里面加入<meta http-equiv="refresh" content="1080">这一句,意思是每隔18分钟向服务器发送一次请求。刚好赶在Session失效之前,这样Session就永不失效了

原文地址:https://www.cnblogs.com/1175429393wljblog/p/5543230.html