一、Session对象
1.定义:Session用于存储在多个页面调用之间特定用户的信息。Session对象只针对单一网站使用者,不同的客户端无法互相访问。Session对象中止于联机机器离线时,也就是当网站使用者关掉浏览器或超过设定Session对象的有效时间时,Session对象变量就会关闭,一般为20分钟。而且Session对象将信息存储在服务器上。
2.常用集合
集合 | 说明 |
Contents | 用于确定指定会话项的值或遍历Session对象的集合 |
StaticObject | 确定某对象指定属性的值或遍历集合,并检索所有静态对象的所有属性 |
3.常用属性
属性 | 说明 |
TimeOut | 传回或设定Session对象变量的有效时间,当使用这超过有效时间而没有动作时,Session对象就会失效,默认值为20分钟 |
4.常用方法
方法 | 说明 |
Abandon | 用于结束当前会话,并清除会话中的所有信息。如果用户随后访问页面,可以为它创建新会话(“重新建立”非常有用,这样用户就可以得到新的会话) |
Clear | 用于清除全部的Session对象变量,但不结束会话 |
5.实例
登录与主界面
登录界面代码
<form id="form1" runat="server"> <div> <table style="font-size: 9pt; 228px"> <tr> <td style=" 54px"> </td> <td> </td> </tr> <tr> <td style=" 54px"> 用户名:</td> <td> <asp:TextBox ID="txtUserName" runat="server" Width="116px"></asp:TextBox>(mr)</td> </tr> <tr> <td style=" 54px"> 密码:</td> <td> <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" Width="117px"></asp:TextBox>(mrsoft)</td> </tr> <tr> <td style=" 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 ()); }
结果
登录界面
主界面