zoukankan      html  css  js  c++  java
  • 注意Request.Cookies["UserID"]的用法

    注意Request.Cookies["UserID"]的用法
    我们在项目中通常要设置这样的东东:
    在没有经过登陆验证时,直接在地址栏输入地址页面是不能访问的,
    而这种方式我一般采用的是在通用类中验证Response.Cookies["UserID"]是否为空
    的方式进行判断,如果为空,将地址重定向登陆页面。
    具体代码:
    login.aspx.cs

      HttpCookie cookie = Request.Cookies["UserID"];
            if (cookie != null)
            {
                cookie.Value = "ivan";          
                Response.Cookies.Set(cookie);
            }
            else
            {
                cookie = new HttpCookie("UserID");
                cookie.Value = "ivan";
                Response.Cookies.Add(cookie);
            }
            Response.Redirect("Main.aspx");

    basePage.cs(继承了System.Web.UI.Page)
    在构造函数中:
     public BasePage()
        {       
            if (HttpContext.Current.Request.Cookies["UserID"] == null)
            {
               // Response.Redirect("/login.aspx");
                Page.RegisterStartupScript("msg", "<script>this.parent.location.href='login.aspx'</script>");
            }
        }

    以上就实现了限制不通过登陆而直接输入地址访问页面的功能。
    提示:最初我在BasePage()中获取cookes的方式直接写成了,if(Request.Cookies["UserID"] == null)
    这样将会报“System.Web.HttpException: 请求在此上下文中不可用”,
    改为 if (HttpContext.Current.Request.Cookies["UserID"] == null)问题解决。

  • 相关阅读:
    C#之正则表达式、异常处理和委托与事件
    C#之interface接口
    C#之类与对象
    C#第一次的Hello World
    第一次用博客
    用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境
    cocos2dx 3.x for lua "异步加载"实现过程
    cocos2dx 3.x c++代码打包给lua调用过程(mac)
    cocos2dx 3.x lua 网络加载并且保存资源(unix、linux)
    path类和directory类对文件的路径或目录进行操作
  • 原文地址:https://www.cnblogs.com/qfb620/p/1088437.html
Copyright © 2011-2022 走看看