Asp.Net之Session简介及使用

来源:互联网 发布:linux打开exe文件类型 编辑:程序博客网 时间:2024/05/22 07:43

Session是服务器端保存机制


一、SessionDemo.aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SessionDemo.aspx.cs" Inherits="SessionDemo" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    <title></title></head><body>    <form id="form1" runat="server">    <div>    <input type="text" name="txtName" /><br />        <input type="submit" value="提交" />    </div>    </form></body></html>
二、SessionDemo.aspx.cs代码
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace SessionDemo {    public partial class SessionDemo : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            if (IsPostBack)            {                string name=Request.Form["txtName"];                //当给Session赋值时,会存储到服务器内存中(因为Session是服务端状态保持机制),                //在内存中存储数据时,服务器会开辟Session的存储区域,这个区域再分相应的存储单元,                //并且每个单元加上一个编号,这个编号叫SessionID同时在跳转时将SessionID                //当执行Response.Redirect时,服务器会向浏览器返回一个302和Location,这时                //SessionID会以Cookie的形式返回给浏览器,存储在浏览器的内存中                Session["userName"] = name;                //Session.Timeout = 30;  //将Session过期时间设置为30分钟                Response.Redirect("Test.aspx");            }        }    }}
三、Test.aspx代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Test" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    <title></title></head><body>    <form id="form1" runat="server">    <div>        </div>    </form></body></html>
四、Test.aspx.cs代码
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace Test{    public partial class Test : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            if (Session["userName"] != null)            {                Response.Write(Session["userName"].ToString());            }            else            {                Response.Redirect("Login.aspx");            }        }    }}