天天看点

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分钟。