问题描述
刚学编程没多久,写个系统登录后记录了相关的Session信息。之后在很多页面都用到了Session保存的信息。一旦Session超时后,这些页面就都会报错。。有没有什么方法能统一处理这种错误的。。不想每个页面都做这样的判断处理if(session[""]==null){}。。。新手分不多求高手们帮忙。。
解决方案
本帖最后由 u011845849 于 2014-01-10 14:14:52 编辑
解决方案二:
尽量不要用session。你可以定义一个页面BasePage.aspx,然后让你所有的页面都继承自这个页面类,在BasePage_Load里面判断一次就可以了。
解决方案三:
在web.config里面进行配置--<customErrorsmode="Off"defaultRedirect="Error.aspx"><errorstatusCode="403"redirect="Error.aspx"/><errorstatusCode="404"redirect="Error.aspx"/><errorstatusCode="500"redirect="Error.aspx"/></customErrors>
解决方案四:
肯定都是要放的,一般都是放在一个基类,然后页面继承处理放在框架上边,然后页面调取框架上的js,调取后就附上标志,然后页面就不能再处理
解决方案五:
引用1楼guwei4037的回复:
尽量不要用session。你可以定义一个页面BasePage.aspx,然后让你所有的页面都继承自这个页面类,在BasePage_Load里面判断一次就可以了。
刚学没多久。。还没接触过继承页面类。。版主能否说详细点。。还有个问题就是如果我所有的页面在不同层次的文件夹里。这点有没有影响。。因为只在BasePage页面判断的话重指向的页面路径是不是就只能固定的??不通层次文件夹里的页面就不能通过这个路径都能找到登录页面了??
解决方案六:
引用2楼HJ850126的回复:
在web.config里面进行配置--<customErrorsmode="Off"defaultRedirect="Error.aspx"><errorstatusCode="403"redirect="Error.aspx"/><errorstatusCode="404"redirect="Error.aspx"/><errorstatusCode="500"redirect="Error.aspx"/></customErrors>
没看明白。。。是不是Session超时都属于这几个类型的错误??出现这个错误时直接打开Error.aspx页面吗??
解决方案七:
引用5楼u011845849的回复:
Quote: 引用2楼HJ850126的回复:
在web.config里面进行配置--<customErrorsmode="Off"defaultRedirect="Error.aspx"><errorstatusCode="403"redirect="Error.aspx"/><errorstatusCode="404"redirect="Error.aspx"/><errorstatusCode="500"redirect="Error.aspx"/></customErrors>没看明白。。。是不是Session超时都属于这几个类型的错误??出现这个错误时直接打开Error.aspx页面吗??
http://zh.wikipedia.org/zh/HTTP%E7%8A%B6%E6%80%81%E7%A0%81你那个报错是非空引用吧,都是500服务器内部错误