对 象 名 |
说 明 |
Page对象 |
Page对象是指向页面自身的方式,在整个页面的执行期内,都可以使用该对象 |
Request对象 |
此对象封装了由Web浏览器或其他客户端生产的HTTP请求的细节(参数、属性和数据),提供从浏览器读取信息或者读取客户端信息等功能,用于页面请求期 |
Response对象 |
此对象封装了返回到HTTP客户端的输出,提供向浏览器输出信息或者发送指令,用于页面执行期 |
Server对象 |
该对象是JSP中没有的,它提供了服务器端的一些属性和方法。比如:页面文件的绝对路径等 |
Application对象 |
为所有用户提供共享信息,作用于整个应用程序运行期 |
Session对象 |
为某个用户提供共享信息,作用于用户会话期 |
Cookie对象 |
保持于客户端的共享信息方式 |
(1)@Page指令
<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”default.aspx.cs”
Inherits=”_default” %>
- @Page:指令定义了ASP.NET页用于编译和解析的属性
- Language:指定页面代码和后置代码使用的语言,仅支持微软.NET框架中的语言
- AutoEventWireup:设置页面是否自动调用网页事件,默认为true执行Load事件
- CadeFile:指定代码后置文件名,该后置代码与页面时局部关系
- Inherits:页面类
(2)页面输入输出
Request对象的常用属性:
- QueryString集合主要用于收集HTTP协议中的Get请求发送的数据,如果一个请求事件中被请求的程序URL中出现“?”后的数据,则表示此次请求方式为Get。最常见的是超链接。Request.QueryString["GongHao"]
- Form集合与QueryString类似,但它用于收集Post方法发送的请求数据(Get方法一般只能传递256B的数据,而Post方法可以达到2MB)。
- ServerVariable(环境变量)集合中包含了服务器和客户端的系统信息。
- Params集合是以上三种方式的集合,它不区分是由哪种方式传递的参数。相比而言,该方法需要在最大范围寻找匹配字段,所以效率较低。
Response对象的常用方法:
- Write()方法可以输出指定的文本内容。
- End()方法可以使Web服务器停止当前的程序并返回结果。
- Redirect()方法可以将页面重定向到另外一个页面。
(3)Cookie对象
Response.Cookies[Cookie的名称].Value=变量值; //写入Cookie
String 变量名=Request.Cookies[Cookie的名称].Value; //读取Cookie
Cookie所对应的类名是HttpCookie,所以添加新Cookie还有一种方法:
HttpCookie hcCookie = new HttpCookie(“Cookie的名称”,”值”);
Response.Cookies.Add(hcCookie);
Cookie对象的常用属性:
- Name:Cookie变量的名称。
- Value:取得或者设置Cookie变量的内容(值)。
- Expires:设定Cookie变量的有效时间。
(4)Session对象
Session[“Session名称”] = 值;
变量 = Session[“Session名称”];
Session对象的特点:
- Session对象包含某一个用户的状态信息,此信息仅面向该连接,不与其他用户共享。
- 会话超时或者过期,服务器即刻清除Session对象,释放所占资源。
- 会话期通过SessionID传递状态信息,不像Cookie那样将所有内容传输,客户端仅对SessionID可见,而对状态信息的内容不可见。
Session对象常见的属性和方法
属性和方法 |
说 明 |
SessionID属性 |
包含唯一的用户会话标识符,它可用于在整个会话过程中记录用户信息 |
Timeout属性 |
用户设置用户超时的时间,单位为分钟。在该时间内,用户即使没有任何操作,用户状态也不会被清除。注意,此处的设置是针对服务器清除Session的时间而言的,因为如果一段时间内没有操作,服务器是无法知道用户是否在线,所以以超时时间为限。而客户端有自己的处理机制,不同的浏览器也不尽相同,一般关闭窗口就会造成Session丢失。 |
IsNewSession属性 |
如果已按当前请求创建会话,那么该属性将返回true |
Clear方法 |
从会话状态集合中移除所有的键和值 |
Abandon方法 |
结束Session,取消当前会话 |
(5)Application对象
Application[“Application名称”] = 值;
变量 = Application[“Application名称”];
Application对象的常用属性
属 性 |
说 明 |
All |
返回全部的Application对象变量到一个对象数组 |
AllKeys |
返回全部的Application对象变量到一个字符串数组 |
Count |
取得Application对象变量的数量 |
Item |
允许使用索引或Application变量名称传回内容值 |
Application对象的常用方法
方 法 |
说 明 |
Add |
新增一个Application对象变量 |
Clear |
清除全部的Application对象变量 |
Get |
使用索引值或变量名称传回变量值 |
Set |
使用变量名称更新一个Application对象变量的内容 |
Lock |
锁定全部的Application变量 |
UnLock |
解除锁定Application变量 |
Session、Cookie和Application的区别:
- Session能够保存相对少量的、简单的数据,这是面向单个用户、单个连接的信息,保存于服务器端(会占用服务器资源)。当Session超过或者被关闭时将清空保存数据。由于用户停止使用应用程序后它仍然会存在一段时间(一般是20分钟),因此Session对象保存数据的效率比较低,适用于保存少量数据,存放用户的登录信息。
- Cookie保存少量的、简单的数据,一般不允许超过4KB(与浏览器有关),使用期限可以进行灵活设定,面向单个用户,保存于浏览器中(也就是客户端)。而由于信息存储在客户端,最好不要保存敏感的信息。它是由网络服务器发送出来,存储在网络浏览器上,从而当这位访客下次又浏览该站点时,可以通过该浏览器获得这些信息。比如:上次访问的位置、话费的时间、用户首选项、用户浏览记录和上次登录时间。
- Application能够保存任意大小的信息,在整个应用程序周期中有效,是面对所有应用程序用户的,保存于服务器端。当我们的网站访问量过大时,可能造成性能上的瓶颈。因此我们不推荐使用该对象来保存大的数据集合,存放在线人数。
(6)Service对象
方 法 |
说 明 |
HtmlEncode |
此方法带有一个字符串参数,可将其编码,使其在浏览器中正确显示。比如希望在页面输出一个“<br>”,又不想在浏览器中显示换行,则需要使用该方法 |
HtmlDecode |
此方法与HtmlEncode方法相反,对已编码内容解码 |
MapPath |
此方法带有一个虚拟路径,可返回该路径在物理磁盘中的准确位置。此方法在Web开发过程中使用频率比较高,一般实现文件读写都需要该方法 |
UrlEncode |
对URL地址进行编码,对于URL需要传输含有“#”、“&”等特殊字符的参数时,需要进行编码,否则后面的内容不会被识别。 |
UrlDecode |
此方法与UrlEncode方法相反,对URL地址进行解码 |
Execute |
在当前页面执行参数指定的页面,执行完成后继续执行本页面 |
Transfer |
参数指定的页面处理完成后,页面执行就结束,不像Execute那样还要返回控制权给先前的页面 |
MapPath用法:
Server.MapPath(string path)
Path参数为Web服务器上的虚拟路径,如果将Null作为参数,则返回应用程序所在目录的物理路径。
比如返回目录下default.aspx的路径
Server.MapPath(“~/default.aspx”);
它会返回该文件的物理路径,比如:
E:\MyBookShop\Web\default.aspx