- ASP.NET从入门到精通(第5版)
- 明日科技
- 776字
- 2021-03-31 00:47:55
2.4 Session对象
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P56_14570.jpg?sign=1739489966-4x0qcvfFHIQfZpmusN0lizMRk7nOcjGW-0-075a840ab8fbd89869aac0af6da3d597)
视频讲解
2.4.1 Session对象概述
Session对象用于存储在多个页面调用之间特定用户的信息。Session对象只针对单一网站使用者,不同的客户端无法互相访问。Session对象中止于联机机器离线时,也就是当网站使用者关掉浏览器或超过设定Session对象的有效时间时,Session对象变量就会关闭。
说明
Session对象是与特定用户相联系的。各个Session对象是完全独立的,不会相互影响。也就是说,一个用户对应一个Session对象,保存在Session对象中的用户信息,其他用户是看不到的。
2.4.2 Session对象的常用集合、属性和方法
Session对象的常用集合及说明如表2.9所示。
表2.9 Session对象的常用集合及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T56_14579.jpg?sign=1739489966-7kgSlbTFuGT4vKRgqsUk2ZlPADe28PP1-0-cfeda40a808da8dd171b0ab9fe57b679)
Session对象的常用属性及说明如表2.10所示。
表2.10 Session对象的常用属性及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T56_14581.jpg?sign=1739489966-gNVP2cKZNJVXcKeZpVBgbk719LexzqwO-0-54183f656151423ff3eea9cbe5893879)
Session对象的常用方法及说明如表2.11所示。
表2.11 Session对象的常用方法及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T56_14583.jpg?sign=1739489966-PFLWhlzX05GsACOgEFyNpclUuVtQXi0W-0-b44b2784097e46642fb2d3cb9a3be1e5)
2.4.3 使用Session对象存储和读取数据
使用Session对象定义的变量为会话变量。会话变量只能用于会话中特定的用户,应用程序的其他用户不能访问或修改这个变量,而应用程序变量则可由应用程序的其他用户访问或修改。Session对象定义变量的方法与Application对象相同,都是通过“键/值”对的方式来保存数据的。语法如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P57_86421.jpg?sign=1739489966-TXChMqM8otrz2YfKCSiY9edwfVoV7vZn-0-f099765c22ded8899711e9dcd87e04e0)
其中,varName为变量名,例如:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P57_86422.jpg?sign=1739489966-e62sHwt72kIhuDKyskoklRz5PC3g75Q8-0-a408dd221f5f14060fe99f6240da8cc0)
【例2.8】登录时使用Session对象保存用户信息。(示例位置:mr\TM\02\08)
用户登录后通常会记录该用户的相关信息,而该信息是其他用户不可见并且不可访问的,这就需要使用Session对象进行存储。下面通过示例介绍如何使用Session对象保存当前登录用户的信息。执行程序,示例运行结果如图2.9所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P57_11667.jpg?sign=1739489966-5HC7xz4JpTWoQSzwYTd3jyWIXoJHR39c-0-5688817303d1d54ab943533b019f6cdc)
图2.9 Session示例
程序实现的主要步骤如下。
(1)新建一个网站,默认主页为Default.aspx,将其命名为Login.aspx。在Login.aspx页面上添加2个TextBox控件和2个Button控件,它们的属性设置如表2.12所示。
表2.12 Default.aspx页面中控件的属性设置及用途
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T57_11801.jpg?sign=1739489966-xt56pqtqGi1X5DO7ipfEbHpcXwvtuB4E-0-4c494dbc69f1bd9730f94c0a4df0e8f5)
用户单击“登录”按钮,将触发按钮的btnLogin_Click事件。在该事件中,使用Session对象记录用户名及用户登录的时间,并跳转到Welcome.aspx页面。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P57_86423.jpg?sign=1739489966-HgXP2yUvt4KuK2JlaXtdjH1MuQmvqZFY-0-54cdd05027d18971f4976e0f1c7f927c)
(2)在该网站中添加一个新页,将其命名为Welcome.aspx。在页面Welcome.aspx的初始化事件中,将登录页中保存的用户登录信息显示在页面上。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P58_86425.jpg?sign=1739489966-Ezkfx1rYqLsbElIcoAzE1dx4S9l1bBIP-0-9ad721f7254b42de6b3dcc496a8d6e2a)