asp.net 操作cookie的简单实例_实用技巧

复制代码 代码如下:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            HttpCookie cookie = Request.Cookies["loginInfo"];

            if (cookie != null)
            {
                cb_repwd.Checked = true;
                tb_loginName.Text = UIHelper.Decrypt(cookie["loginName"]);
                tb_pwd.Attributes.Add("value", UIHelper.Decrypt(cookie["pwd"]));
            }
            else
            {
                tb_pwd.Attributes.Add("value", "******");
            }

        }

    }

    protected void btn_login_Click(object sender, EventArgs e)
    {

        if (UIHelper.GetString(Session["Code"]).ToUpper()!=this.tb_code.Text.Trim().ToUpper())
        {
            oJavaScript.Alert("验证码输入不正确");
            return;
        }

        NetUserService NerService = ContextFactory.GetObject<NetUserService>("NetUserService");
        string sql = string.Format("from NetUser where LoginName='{0}'", tb_loginName.Text.Trim());
        IList<NetUser> list = NerService.Find(sql);
        if (list.Count > 0)
        {
            if (list[0].Status == 2)
            {
                oJavaScript.Alert("帐号已停用,请联系管理员");
                return;
            }
        }

        if (NerService.Login(tb_loginName.Text.Trim(), oSecurity.GetPwdEncrypt(tb_pwd.Text.Trim())))
        {
            HttpCookie cookie = Request.Cookies["loginInfo"];
            if (cb_repwd.Checked)
            {
                if (cookie == null)
                {
                    HttpCookie cookielogin = new HttpCookie("loginInfo");
                    setCookies(cookielogin,7);
                }
                else
                {
                    if (UIHelper.Decrypt(Request.Cookies["loginInfo"]["loginName"]) != tb_loginName.Text.Trim())
                    {
                        setCookies(cookie, 7);
                    }
                }
            }
            else
            {
                setCookieExpires(cookie);
            }

           
            oJavaScript.Redirect("/");
        }
        else
        {
            oJavaScript.Alert( "用户名或密码不正确");
        }
    }

    #region cookie
    /// <summary>
    /// 设置cookie
    /// </summary>
    /// <param name="cookielogin">HttpCookie cookielogin</param>
    /// <param name="Expires">有效期</param>
    private void setCookies(HttpCookie cookielogin, int Expires)
    {
        cookielogin.Values["loginName"] = UIHelper.Encrypt(tb_loginName.Text.Trim());
        cookielogin.Values["pwd"] = UIHelper.Encrypt(tb_pwd.Text.Trim());
        cookielogin.Expires = DateTime.Now.AddDays(Expires);
        Response.AppendCookie(cookielogin);
    }

    /// <summary>
    /// 设置cookie失效
    /// </summary>
    /// <param name="cookielogin">HttpCookie cookielogin</param>
    private void setCookieExpires(HttpCookie cookielogin)
    {
        if (cookielogin != null)
        {
            cookielogin.Expires = DateTime.Now.AddDays(-1); ;
            Response.AppendCookie(cookielogin);
        }
    }
    #endregion

设置cookie过期其实就是修改cookie,必须重新向客户端发送cookie

Request.Cookies取cookie, response,cookies添加cookie

虽然简单,但是不太了解的还是很容易出错

时间: 2024-09-17 02:40:54

asp.net 操作cookie的简单实例_实用技巧的相关文章

asp.net cookie的读写实例_实用技巧

asp.net操作cookie的例子,包括创建cookie.读取cookie.清空cookies,有需要的朋友可以参考下. 1.创建cookie 复制代码 代码如下: HttpCookie cookie = new HttpCookie("AutoLogin"); cookie.Values.Add("name", user.UserName); cookie.Values.Add("pass", user.Password); cookie.E

ASP.NET中Web API的简单实例_实用技巧

一.Web API的路由 1.在Visual Studio中新建MVC4项目,在App_Start目录下有一个WebApiConfig.cs文件,这个文件中就是相应的Web API的路由配置了. 2.Web API 框架默认是基于 Restful 架构模式的,与ASP.NET MVC 有区别的是,它会根据 Http 请求的 HttpMethod(Get.Post.Put.Delete)来在Controller 中查找 Action,规则是:Action 名中是否以Get.Post 开头?Acti

EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例_实用技巧

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Manage_Main" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

asp.net 操作excel的实现代码_实用技巧

Excel是Microsoft公司的Office套件中的一种软件,他主要用来处理电子表格.Excel以界面友好.处理数据迅速等优点获得广大办公人员的欢迎.所以很多文档就以Excel的形式保存了下来.对于程序设计人员,在程序设计中,我们往往要访问Excel文件来获得数据.但由于Excel文件不是标准数据库,所以用程序语言来访问他就比较困难.  ASP.NET是Microsoft公司极力推荐的一个产品,作为.NET FrameWork框架中的一个重要组成部分,他主要用于Web设计.全新的设计理念.强

ASP.Net巧用窗体母版页实例_实用技巧

本文实例讲述了ASP.Net巧用窗体母版页的方法.分享给大家供大家参考.具体分析如下: 背景:每个网页的基本框架结构类似: 浏览网站的时候会发现,好多网站中,每个网页的基本框架都是一样的,比如,最上面都是网站的标题,中间是内容,最下面是网站的版权.开发提供商等信息: 在这些网页中,表头.底部的样式和内容都是一样的,不同的只是中间的内容. 因此在制作网站时,可以将这些共同的东西分离出来,放到"窗体母版页"中,在需要的时候嵌套就可以. 巧用窗体母版项: 下面就开始行动(本文是以Visual

ASP.Net分页的分页导航实例_实用技巧

Asp.Net分页可以设置分页的首页.上一页.下一页.尾页在前台显示的链接文本.这里只是提及简单功能,深入研究剖析其原理就更得心应手了. //containerId 导航的目标容器,建议使用span标签 //url 默认为XXX.XX?pagenum= //curPage 当前的页码 //maxSection 最大的分段数(一段里面最大的页数) //totalPage 总共的页数 function Navigate(containerId,url,curPage,maxSection, tota

ASP.NET无刷新分页简单实现_实用技巧

下面就是和大家分享的实现无刷新分页功能的全部步骤,欢迎学习. 1.新建一个分页存储过程: CREATE procedure [dbo].[P_Pager] (@PageNumber int, @PageSize int) as declare @sql nvarchar(4000) set @sql = 'select top ' + Convert(varchar, @PageSize) + ' * from T_Test where [type]=1 and id not in (selec

ASP.NET中图片显示方法实例_实用技巧

本文实例讲述了ASP.NET中图片的显示方法.分享给大家供大家参考.具体如下: genimage.ashx: 复制代码 代码如下: <%@ WebHandler Language="C#" Class="netpix.ImageGenerator" %> genimage.ashx.cs: // Copyright (C) 2003 by Greg Ennis // (mailto:greg@ennis.net) // // The contents o

ASP.NET操作EXCEL的总结篇_实用技巧

公元19XX年前,关于EXCEL的操作就如滔滔江水,连绵不绝,真正操作EXCEL我也是从去年下半年开始的,有些比较复杂的年度报表之类的,做起来也有点费力,不过还是都能画出来了,关于EXCEL的报表导出,考虑到导出耗时的问题我主要采用AJAX来做的,分别捕捉几个起止状态,给客户端提示3个状态:正在检索数据...--->准备导出数据...(只是从数据库成功取出,还没有读写excel文件)-->正在读写文件-->导出数据成功,当然如果哪一过程出错,都有对应的提示,只所以想到写这篇文章,主要是因