首页 > 其他分享 >判断session 方法

判断session 方法

时间:2022-12-10 00:11:14浏览次数:70  
标签:判断 Session TestSession session OnInit 方法 页面

一. 在每个页面的page_load()方法中判断

If(Session[“UserId”]!=null)
{
//登陆成功的情况
}
Else
{
//response.write(“<script>alter(‘请登陆’);</script>”);
}
//这种方法在每个页面都需要写入重复的代码。代码冗余

二. 可以在HttpModule中判断,在HttpModule中注册请求管道的AcquireRequestState

/*事件(可以拿到session的那个事件)
步奏:
    1:新建一个继承IHttpModule接口的类Module 
    2:让Module类实现接口成员。
    3:在Init()方法中对Context进行注册AcquireRequestState事件(在这个事件中可以拿到Session)
    4:在方法中写
*/
void context_AcquireRequestState(object sender, EventArgs e)
    {
        HttpApplication app = (HttpApplication)sender;
        if (app.Context.Session["userId"] == null)
        {
            app.Response.Write("<script>alert('没有登录');</script>");
        }
}
/*
    5:在web.config配置文件中<system.web>节点下添加一个节点
*/
    <httpModules>
      <add name="demo" type="Module"/> <!--type后面是命名空间.类名-->
    </httpModules>
/* 
 使用这种方法会在每个页面加载的时候都先检查module。
  原理是实现IHttpModule接口的类是在执行页面之前执行的。 
  在page_load()事件执行之前就判 断Session如果不存在就提示。
  这种方法效率能高一些,因为如果不存在 session直接就可以处理。
  后面的一系列事件都可以不 用执行。
*/

三. 修改page类中的有OnInit()方法

  Page类中有OnInit()这个虚方法。
  
  1:创建一个集成Page类的类TestSession
  2:在TestSession中重写OnInit()这个方法。
  3:在OnInit()方法中判断Session
  4:在需要判断session的页面集成TestSession这个类,而不是继承Page类
  这种方法比较灵活,在需要判断session的页面中继承TestSession就可以,不需要判断session 的页面直接继承Page就行了。

Reference

https://blog.csdn.net/hitlisheng/article/details/15339133

标签:判断,Session,TestSession,session,OnInit,方法,页面
From: https://www.cnblogs.com/NetUSA/p/16970576.html

相关文章

  • java中方法的重载
    本主要讲述java中方法的重载方法包括:修饰符,返回类型,方法名称,形参列表重载:方法名相同,形参列表不同(形参个数不同;形参的数据类型不同;形参顺序不同)示例代码如下:publiccla......
  • Tomcate三种部署项目的方法
    在tomcat中三种部署项目的方法第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:<Contextpath="/hello"docBase="D:eclipse3.2.2forwebtoolsworkspace......
  • MinGW-一种可以将小端数据转换为大端数据的方法
    MinGW-一种可以将小端数据转换为大端数据输出的方法问题背景问题是这样的,客户提供了一份出错的log,log中记录了发送数据的详细信息(顺序、偏移量...),通过分析log发现......
  • ​​windows上传ipa到开发者中心(app store)的方法
    ​windows上传ipa到开发者中心(appstore)的方法​假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将......
  • 实现ViewPager懒加载的三种方法
    在项目中ViewPager和Fragment接口框架已经是处处可见,但是在使用中,我们肯定不希望用户在当前页面时就在前后页面的数据,加入数据量很大,而用户又不愿意左右滑动浏览,那么这时候V......
  • Android截屏截图的几种方法总结
    Android截屏Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途一、Activity截屏1、截Activity界面(包含空白的状态栏)/......
  • 素数--java方法
    判断素数packageT素数;importjava.util.Scanner;publicclassT判断素数{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);......
  • [译]Android防止内存的八种方法(下)
    在上一篇​​Android内存泄漏的八种可能(上)​​中,我们讨论了八种容易发生内存泄漏的代码。其中,尤其严重的是泄漏​​Activity​​对象,因为它占用了大量系统内存。不管内存泄......
  • Android中的EditText默认时不弹出软键盘的方法
    在做项目过程中,父Activity中用ViewPager中的子Activity EditText默认弹出软键盘。这是想屏蔽软键盘应该从 父Activity中处理。处理子Activity达不到效果。......
  • windows上传ipa文件到app store的方法​
    在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​但是在苹果开发者中心无法直接上传ipa文件,它要求我们使用xcode或tran......