• 第十节 15ASP.Net中使用Cookie 简单


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cookie1.aspx.cs" Inherits="Cookie1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="设置Cookie" 
                onclick="Button1_Click" />
        </div>
        
        <a href="Cookie_Read.aspx">点击这里去另外一个页面,读取COOKIE值</a>
        </form>
    </body>
    </html>
    

      

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    /* COOKIE
     * 表单和页面相关的,只有浏览器端提交了这些数据服务器端才能得到,而有时候希望在服务端任意的地方存取一些和访问者相关的信息,这时候就不方便将这些信息保存到表单中了,因为如果那样的话,必须随时浏览在所有页面表单中都保存这些信息,
     * Cookie是和站点相关的,并且每次向服务器请求的时候都会携带和站点相关的所有cookie,是强制性的,
     * cookie也是保存在浏览器端的,而且浏览器会在每次请求的时候都会把和这个站点的相关的Cookie提交到服徊器,并且将服务端返回的cookie更新回数据库,因为可以将信息保存在Cookie中,然后在服务器端读取,修改
     * 
     * 案例: 一个页面设置Cookie,一个页面读取Cookie
     * 设置的而面,Response.SetCookie(new HttpCookie("UserName",TextBox1.Text))
     * 读取的页面: Label1.Text = Request.Cookies["UserName"].vale;
     * 
     * Cookie的缺点和表单干 样,而且还不能存储过多的信息
     * 
     * 互联网优化的案例:图片服务器和主站域名不一样,降低COOKIE流量的传输
     */
    public partial class Cookie1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            //在客户填也能通过$.cookie取,服务端设置cookie
            Response.SetCookie(new HttpCookie("UserName","小向"));
            Response.SetCookie(new HttpCookie("Uid","1"));
        }
    }
    

      

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cookie_Read.aspx.cs" Inherits="Cookie_Read" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="点击读取COOKIE值" 
                onclick="Button1_Click" />
        </div>
        </form>
    </body>
    </html>
    

      

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class Cookie_Read : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string name = Request.Cookies["UserName"].Value;
            string id = Request.Cookies["Uid"].Value;
            Response.Write("UserName:"+name+", Uid:"+id);
    
        }
    }
    

      

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="变量1.aspx.cs" Inherits="变量1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
            <asp:Label ID="Label1" runat="server" Text="0"></asp:Label>
            <br />
            <br />
            <asp:Button ID="Button2" runat="server" onclick="Button2_Click" 
                Text="设置Session" />
            <asp:Button ID="Button3" runat="server" onclick="Button3_Click" 
                Text="读取Session" />
        </div>
        </form>
    </body>
    </html>
    

      

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class 变量1 : System.Web.UI.Page
    {
    
        private int i = 11;
        //每次请求来了都会new一个新的实现了IHttpHandler接口的类"变量1" 的实例进行处理
        //用完了就回调,所以不会保持上次的值
    
        private static int j = 11; //所有访问都都访问同一个j的实例
        
        
        
        protected void Page_Load(object sender, EventArgs e)
        {
            //如果取不取MySessionID
            if (Request.Cookies["MySessionId"] == null) 
            {
                string sessionid = Guid.NewGuid().ToString(); //生成一个sessionid
                Response.SetCookie(new HttpCookie("MySessionId", sessionid));
            }
    
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write("现在i的值为:"+i.ToString());
            i = i + 1;
            j = j + 1;
    
            Label1.Text = i.ToString();
            Response.Write("现在i的值为:" + i.ToString());
    
            Response.Write("现在j的值为:" + j.ToString());
        }
    
        //设置session
        protected void Button2_Click(object sender, EventArgs e)
        {
            //取得保存在cookie里面的sessionid
            string sessionid = Request.Cookies["MySessionId"].Value;
    
            
            IDictionary<string, object> session = MySession.GetSession(sessionid);
            //session["服务端的数据"] = "333333";
            //这里需要特别注意,必须在设置session值是让两行在一起,不然就是提示错误
            session["服务端的数据"] = DateTime.Now.ToString();
    
    
            
            Response.Write("session值为:" + session["另外一个值是"]);
            session["另外一个值是"] = "666666";
            
            //向和这个客户端关联的服务端内存中添加键值对
            //session["username"] = 20;
    
        }
    
        //读取session
        protected void Button3_Click(object sender, EventArgs e)
        {
            string sessionid = Request.Cookies["MySessionId"].Value;
            //ySession mys =  new MySession();
            IDictionary<string, object> session = MySession.GetSession(sessionid);
            //Response.Write("读取的值为:" + session["另外一个值是"]);
    
            //Convert.ToString(session["服务端的数据"]) 
            Button3.Text = Convert.ToString(session["服务端的数据"]) + session["另外一个值是"];
     
    
        }
    }
    

      

  • 相关阅读:
    函数的内置方法
    函数
    文件操作
    三元运算
    流程控制
    集合
    div容器内文本对齐--神奇的css
    Struts2的零配置和rest插件
    MIME类型
    ganymed-ssh2使用
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/2405337.html
Copyright © 2020-2023  润新知