首页 > 技术文章 > Session对象

bosamvs 2016-07-24 10:15 原文

一、Session对象

1.定义:Session用于存储在多个页面调用之间特定用户的信息。Session对象只针对单一网站使用者,不同的客户端无法互相访问。Session对象中止于联机机器离线时,也就是当网站使用者关掉浏览器或超过设定Session对象的有效时间时,Session对象变量就会关闭,一般为20分钟。而且Session对象将信息存储在服务器上。

2.常用集合

Session对象的常用集合
集合 说明
Contents 用于确定指定会话项的值或遍历Session对象的集合
StaticObject 确定某对象指定属性的值或遍历集合,并检索所有静态对象的所有属性

3.常用属性

Session对象的常用属性
属性 说明
TimeOut 传回或设定Session对象变量的有效时间,当使用这超过有效时间而没有动作时,Session对象就会失效,默认值为20分钟

4.常用方法

Session对象的常用方法
方法 说明
Abandon 用于结束当前会话,并清除会话中的所有信息。如果用户随后访问页面,可以为它创建新会话(“重新建立”非常有用,这样用户就可以得到新的会话)
Clear 用于清除全部的Session对象变量,但不结束会话

5.实例

登录与主界面

登录界面代码

    <form id="form1" runat="server">
    <div>
        <table style="font-size: 9pt; width: 228px">
            <tr>
                <td style="width: 54px">
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td style="width: 54px">
                    用户名:</td>
                <td>
                    <asp:TextBox ID="txtUserName" runat="server" Width="116px"></asp:TextBox>(mr)</td>
            </tr>
            <tr>
                <td style="width: 54px">
                    密码:</td>
                <td>
                    <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" Width="117px"></asp:TextBox>(mrsoft)</td>
            </tr>
            <tr>
                <td style="width: 54px">
                </td>
                <td>
                    <asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" />
                    <asp:Button ID="btnCancel" runat="server" Text="取消" OnClick="btnCancel_Click" /></td>
            </tr>
        </table>
    
    </div>
    </form>
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnLogin_Click(object sender, EventArgs e)
    {
        if (txtUserName.Text=="mr" && txtPwd .Text =="mrsoft")
        {
            Session["UserName"] = txtUserName.Text;//使用Session变量记录用户名
            Session["LoginTime"] = DateTime.Now;//使用Session变量记录用户登录系统的时间
            Response.Redirect("~/Welcome.aspx");//跳转到主页
        }
        else
        {
            Response.Write("<script>alert('登录失败!请返回查找原因');location='Login.aspx'</script>");
        }
    }
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        txtPwd.Text = "";
        txtUserName.Text = "";
    }

主界面代码

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("欢迎用户"+Session["UserName"].ToString ()+"登录本系统!<br>");
        Response.Write("您登录的时间为:"+Session["LoginTime"].ToString ());
    }

结果

登录界面

主界面

 

推荐阅读