当前位置:文档之家› aspnet七大内置对象

aspnet七大内置对象

aspnet七大内置对象
aspnet七大内置对象

使用Application对象的语法如下所示:

Application("变量名")="变量值"

实例14-7:设置、获取Application对象的内容

代码如下:

在本例中,首先通过Add方法添加三个Application对象,并赋以初值,接着通过Count 属性得到Application对象的数量,然后通过循环操作GetKey方法和Get方法分别得到

新增对象的“索引”和“索引”所对应的“值”。

执行上面代码,得到如下结果:

变量名:App1变量值:Value1

变量名:App2变量值:Value2

变量名:App3变量值:Value3

实例14-8:Application对象的加锁与解锁

Lock方法可以阻止其他客户修改存储在Application对象中的变量,以确保在同一时刻仅有一个客户可修改和存取Application变量。如果用户没有明确调用Unlock方法,则服务器将在页面文件结束或超时即可解除对Application对象的锁定。

Unlock方法可以使其他客户端在使用Lock方法锁住Application对象后,修改存储在该对象中的变量。如果未显式地调用该方法,Web服务器将在页面文件结束或超时后解锁

Application对象。

使用方法如下:

Application.Lock();

Application["变量名"]="变量值";

Application.UnLock();

四、Session对象

Session对象是HttpSessionState的一个实例。该类为当前用户会话提供信息,还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。Session的发明是填补HTTP协议的局限,HTTP协议工作过程是,用户发出请求,服务器端做出响应,这种用户端和服务器端之间的联系都是离散的,非连续的。在HTTP协议中没有什么能够允许服务器端来跟踪用户请求的。在服务器端完成响应用户的请求后,服务器端不能持续与该浏览器保持连接。从网站的观点上看,每一个新的请求都是单独存在的,因此,当用户在多个主页间转换时,就根本无法知道他的身份。

可以使用Session对象存储特定用户会话所需的信息。这样,当用户在应用程序的Web 页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存

在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将中止该会话。

当用户第一次请求给定的应用程序中的aspx文件时,https://www.doczj.com/doc/4217888879.html,将生成一个SessionID。SessionID是由一个复杂算法生成的号码,它唯一标识每个用户会话。在新会话开始时,服务器将Session ID作为一个cookie存储在用户的Web浏览器中。

在将SessionID cookie存储于用户的浏览器之后,即使用户请求了另一个.aspx文件,或请求了运行在另一个应用程序中的.aspx文件,https://www.doczj.com/doc/4217888879.html,仍会重用该cookie跟踪会话。与此相似,如果用户故意放弃会话或让会话超时,然后再请求另一个.aspx文件,那么https://www.doczj.com/doc/4217888879.html,将以同一个cookie开始新的会话。只有当服务器管理员重新启动服务器,或用户重新启动Web浏览器时,此时存储在内存中的SessionID设置才被清除,用户将会获

得新的SessionID cookie。

通过重用SessionID cookie,Web应用程序将发送给用户浏览器的cookie数量降为最低。另外,如果用户决定该Web应用程序不需要会话管理,就可以不让Web应用程序跟踪会

话和向用户发送SessionID。

Session对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持cookie 的浏览器中保留,如果客户关闭了cookies选项,Session也就不能发挥作用了。https://www.doczj.com/doc/4217888879.html,的Sessions非常好用,能够利用Session对象来对Session全面控制,如果需要在一个用户的Session中存储信息,只需要简单地直接调用Session对象就可以了,

下面就是个例子:

Session("Myname")=Response.form("Username");

Session("Mycompany")=Response.form("Usercompany");

应注意的是,Session对象是与特定用户相联系的。针对某一个用户赋值的Session对象是和其他用户的Session对象完全独立的,不会相互影响。换句话说,这里面针对每一个用户保存的信息是每一个用户自己独享的,不会产生共享情况。

strHtmlContent=Server.HtmlDecode(strHtmlContent);

Response.Write(strHtmlContent);

}

运行上述示例输出结果可以发现,编码后的HTML标注变成了“HTML内容”,这是因为“”变成了“”,“”变成了“”,所以才能在页面中显示HTML

标注。

实例14-15:使用URLEncode方法对URL进行编码

就像HTMLEncode方法使客户可以将字符串翻译成可接受的HTML格式一样,Server对象的URLEncode方法可以根据URL规则对字符串进行正确编码。当字符串数据以URL 的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果希望在发送字符串之前进行URL编码,则可以使用Server. URLEncode方法。

该函数已被重载,语法如下:

对字符串进行URL编码,并返回已编码的字符串。

public string UrlEncode(string);

URL对字符串进行编码,并将结果输出发送到TextWriter输出流。

public void UrlEncode(string, TextWriter);

例如下面例子:

<%Response.Write(Server.URLEncode("错误!超链接引用无效。))%>

产生如下输出:

http %3A%2F%2Fwww%2Emicrosoft%2Ecom

利用QueryString在不同主页间传递信息时,如果信息带有空格或特殊字符,那么必须进行Encode操作,因为如果不这样做,很可能使得接受信息的那边接受到一些所不期望的奇怪字符串。注意,不要对QueryString的名称及等号进行Encode操作,只需要将其值

进行Encode操作就可以了。

进行了Encode操作后,效果如下:

Message=This+Query+String+has+been+URL+ENCODED%2E

用户并不需要考虑对上面的字符串再进行解码,会自动进行这样的处理。例如,假设有这样

的脚本:

Request.QueryString("message");

这时,显示结果为:

This Query String has been URL encoded

实例14-16:建立虚拟路径与服务器物理目录间映射

使用MapPath方法可以将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

语法:

public string MapPath(string path);

参数Path表示指定要映射物理目录的相对或虚拟路径。若Path以一个正斜杠(/)或反斜杠(\)开始,则MapPath方法返回路径时将Path视为完整的虚拟路径。若Path不是以斜杠开始,则MapPath方法返回同页面文件中已有的路径相对的路径。这里需要注意的是,MapPath方法不检查返回的路径是否正确或在服务器上是否存在。

对于下列示例,文件data.txt和包含下列脚本的test.aspx文件都位于目录C:\Inetpub\ wwwroot\aspx下。C:\Inetpub\wwwroot目录被设置为服务器的宿主目录。下列示例使用服务器变量PATH_INFO映射当前文件的物理路径。以下脚本:

Server.mappth(Request. ServerVariables("PATH_INFO"));

输出:

c:\inetpub\wwwroot\asp\test.aspx

由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是目录C:\Inetpub\wwwroot\aspx。以下脚本:

Server.mappath("data.txt");

Server.mappath("aspx/data.txt");

输出:

c:\inetpub\wwwroot\aspx\data.txt

c:\inetpub\wwwroot\aspx\aspx\data.txt

六、Cookie对象

什么是Cookie呢?Cookie 是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。Cookie跟Session、Application类似,也是用来保存相关信息,但Cookie和其他对象的最大不同是,Cookie将信息保存在客户端,而Session和Application是保存在服务器端。也就是说,无论何时用户连接到服务器,Web站点都可以访问cookie信息。这样,既方便用户的使用,也方便了网站对用户的管理。

https://www.doczj.com/doc/4217888879.html,包含两个内部Cookie集合。通过HttpRequest的Cookies集合访问的集合包含通过Cookie标头从客户端传送到服务器的Cookie。通过HttpResponse的Cookies 集合访问的集合包含一些新Cookie,这些Cookie在服务器上创建并以Set-Cookie标头

的形式传输到客户端。

Cookie不是Page类的子类,所以在使用方法上跟Seesion和Application不同。

使用Cookie的优点:

—可配置到期规则。Cookie 可以在浏览器会话结束时到期,或者可以在客户端计算机上

无限期存在,这取决于客户端的到期规则。

—不需要任何服务器资源。Cookie存储在客户端并在发送后由服务器读取。

—简单性。Cookie是一种基于文本的轻量结构,包含简单的键值对。

—数据持久性。虽然客户端计算机上Cookie的持续时间取决于客户端上的Cookie过期处理和用户干预,Cookie通常是客户端上持续时间最长的数据保留形式。

使用Cookie的缺点:

ASPNET期末复习题

备注: 1.考试题型包括选择题(80分)、填空题(20分) 2.考试主要内容范围:上课PPT中涉及到的知识点和本大纲所列知 识。 3.闭卷考试。 https://www.doczj.com/doc/4217888879.html,复习资料 一、基础知识点(对应填空题、解答题) (1) ASPX网页的代码储存模式有两种,它们是__代码分离模式_和_单一模式__代码分离模式。 (2) 当一个Web控件上发生的事件需要立即得到响时,应该将它的__AutoPostBack_ 属性设置为true。 (3) 请将下列数据(nn)在TextBox控件中显示出来。 Double nn = 4512.6; TextBox1.Text = nn.Tostring(); (4)当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为Password. (5) 下面是一个转移到目标网页的指令:Response.Redirect(“新网页的Url ”) (6) 在设计阶段必须将各个验证控件的(ControlToValidate)属性指向被验证的控件。 (7) 下面是设置和取出Session对象的代码。 设置Session的代码是: Session*“greeting”+=“hello wang !”; 取出该Session对象的语句如下: string Myvar= Session*“greeting”+.ToString(); (8) 下面是使用Application对象时防止竞争的代码。 Application. ; //锁定Application对象 Application*“counter”+=(int) Application*“counter”++1; Application. ; //解除对Application对象的锁定 lock(),unlock() (9) 废除Session的语句是:(Session.Abandon())。 (10) 打开文件系统网站时将自动打开一个(开发)服务器,这是一个轻量级服务器,可以用来对程序进行检查和调试工作。 (11) 所谓分布式类就是在多个文件中使用相同的__命名空间__,相同的__类名__,而且每个类的定义前面都加上__partial__修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。 (12) 改变Session的有效时间的语句是:__Session.Timeout=60; ___________ 。 (13) NET与XML紧密结合的最大好处是______跨平台传送数据_______ 。

6_ASP[1].NET内置对象的使用

实验6 https://www.doczj.com/doc/4217888879.html,内置对象的使用 一、目的与要求 熟练掌握Cookie、Application及Session对象的使用。 二、实验环境 1.计算机一台; 2.Microsoft Visual Studio .NET 2008工具软件; 三、内容和步骤 【实验题1】使用Application对象统计网站的访问次数 步骤如下: 1.新建一个Web应用项目。 2.创建程序主页面窗体index.aspx,页面上放置两个Label控件,控件标识名分别为:label1和label2,label1用于显示计数值,label2用于显示访问的当前时间。 3.在index.aspx页面的空白处双击,进入程序编辑窗口,在Pagp_load事件中输入以下程序代码: protected void Page_Load(object sender, EventArgs e) { Application.Lock(); Application["Counter"]= Convert.ToInt32(Application["Counter"]) + 1; Application.UnLock(); Label1.Text = "您是第" + Application["Counter"].ToString() + "位访客!"; Label2.Text="最近一次浏览时间:"+ System.DateTime.Now. ToString(); } 4.编译、运行程序,结果如图6-1所示。连续单击“刷新”按钮,观察网页上访客人数的变化。 图6-1程序运行结果 【实验题2】使用Cookie对象统计您访问网站的次数 步骤如下:

aspnet部分考试题目

1.简述https://www.doczj.com/doc/4217888879.html,两种读取数据库的方式。 答:第一种是利用Connetction、Command和DataReader 对象,这种方式只能读取数据库,不能修改记录。如果只是想查询记录的话,这种方式的效率更高些。 第二种是利用Connection、Command、DataAdaPter 和Dataset 对象,这种方式更灵活,可以对数据库进行各种操作。 2、简述你对https://www.doczj.com/doc/4217888879.html,的事件驱动机制的理解。 https://www.doczj.com/doc/4217888879.html, 使用一个事件驱动编程模型。该模型定义了一个事件序列,这些事件在页面的生命周期中被依次引发,顺序为Init Load控件事件Unload对每个引发的事件,你可能需要完成一些任务。可以在称为事件处理过程中编写代码。例如,可以在Web 页面的Init 或Load事件中编写页面初始化代码。PageInit 是页面的Init 事件的事件处理器,而page_Load 是页面的Load 事件的事件处理器。3、什么是代码分离形式? 答:代码分离(Code Behind)形式是https://www.doczj.com/doc/4217888879.html, 为了提高代码阅读性采用的新技术,使https://www.doczj.com/doc/4217888879.html, 页面源程序代码更清晰和便于阅读。他的实质是将页面显示视图(页面内容)的HTML标记和控制页面交互过程的程序代码分离。这样可以分别设计、分别调试和分别保存,其两者之间的关联是通过编译器指令Page实现的。 4、简述Page.IsPostBack的用途 在page_Load的过程中,你可以读取或者重置页面的属性和控件的属性,根据IsPostBack 属性判定页面是否为第一次被请求,执行数据

绑定等等。IsPostBack属性为false 表明页面是被第一次显示,为true 表明页面被请求后返回(PostBack)的结果值。 5、验证控件有哪几种?简述它们各自的功能。RequiredFieldValidator 验证用户是否已输入数据CompareValidator 将用户输入的数据与另一个数据进行比较CustomValidator 自定义的验证方式 RangeValidator 验证用户输入的数据是否在指定范围内RegularExpressionValidator 以特定规则验证用户输入的数据ValidationSummary显示未通过验证的控件的信息 6.简述Session对象的作用。 Session 对象用于存储关于某个用户会话(session)的信息,或者修改相关的设置。存储在session 对象中的变量掌握着单一用户的信息,同时这些信息对于页面中的所有页面都是可用的。 7. 简述Response对象的作用。 用于将数据从服务器发送回浏览器,另外,还可以用来在页面中输入数据,跳转或者传递页面中的参数。 9.简述调用Web Service设计https://www.doczj.com/doc/4217888879.html,应用程序的基本步骤? (1)添加Web service服务 (2)在类中定义Web service引进服务对象 (3)通过对象调用相应方法。 10为什么要对Application 对象进行锁定?何时进行锁

ASPNET对象

一、Response对象 Response对象是HttpResponse类的一个实例。该类主要是封装来自https://www.doczj.com/doc/4217888879.html,操作的HTTP响应信息。 1.Response对象的属性 ①BufferOutput 说明:获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送 属性值:如果缓冲了到客户端的输出,则为true;否则为false。默认为true ②Cache 说明:获取Web页的缓存策略(过期时间、保密性、变化子句) 属性值:包含有关当前响应的缓存策略信息的HttpCachePolicy对象 ③Charset 说明:获取或设置输出流的HTTP字符集 属性值:输出流的HTTP字符集 ④IsClientConnected 说明:获取一个值,通过该值指示客户端是否仍连接在服务器上 属性值:如果客户端当前仍在连接,则为true;否则为false 2.Response对象的方法 Response对象可以输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。https://www.doczj.com/doc/4217888879.html,中引用对象方法的语法是“对象名.方法名”。“方法”就是嵌入到对象定义中的程序代码,它定义对象怎样去处理信息。使用嵌入的方法,对象便知道如何去执行任务,而不用提供额外的指令。 ①Write 说明:将指定的字符串或表达式的结果写到当前的HTTP输出 ②End 说明:停止页面的执行并得到相应结果 ③Clear 说明:用来在不将缓存中的内容输出的前提下,清空当前页的缓存,仅当使用了缓存输出时,才可以利用Clear方法 ④Flush 说明:将缓存中的内容立即显示出来。该方法有一点和Clear方法一样,它在脚本前面没有将Buffer属性设置为True时会出错。和End方法不同的是,该方法调用后,该页面可继续执行 ⑤Redirect

网络技术-数据库-HTTP开发-ASPNET内置对象小结-298

https://www.doczj.com/doc/4217888879.html,内置对象小结: 1.Response对象 Response对象是HttpResponse类的一个实例。该类主要是封装来自https://www.doczj.com/doc/4217888879.html,操作的HTTP响应信息。 服务器端利用Response对象的一些方法向客户端(浏览器)输出信息。 Response对象可以输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。 常用方法:Response.Write(),Response.Redirect()。 ① Write 说明:将指定的字符串或表达式的结果写到当前的HTTP输出 ⑤ Redirect 说明:使浏览器立即重定向到程序指定的URL 2.Request对象 Request对象用于获取从浏览器向服务器所发送的请求中的信息。当用户单击“提交”按钮时,包含在输入控件中的数据信息将会与表单一起被发送到服务器端。服务器端的Request对象就会读取通过HTTP请求发送的数据。

服务器端常常使用Request对象从客户端得到数据,它有两个常用方法,Form[]方法和QueryString[]方法。前者用来获取客户端以Post方式提交的数据,后者获取以Get方式提交的数据。 它还有一些有用的属性,可以获取客户端的一些信息,如客户端版本,客户端IP地址,当前网站的物理路径。 Request对象的属性 ① QueryString 说明:获取 HTTP 查询字符串变量集合 ② Browser 说明:获取有关正在请求的客户端的浏览器功能的信息 Request对象的方法 ①MapPath 说明:为当前请求将请求的URL中的虚拟路径映射到服务器上的物理路径。 3. Server对象 Server对象提供的方法和属性可以访问服务器,如MapPath()方法可以得到服务器上某文件的物理路径,HTMLEncode()可以对字符进行编码,输出平时无法输出的字符。

实验二 ASP NET内置对象

实验二 https://www.doczj.com/doc/4217888879.html,内置对象 注意事项:在F盘领卷文件夹里建立自己的工作目录,以自己的姓名学号作为目录名,专门存储你所做的实验程序及相关信息。 一、实验目的 (1) 熟练掌握Application、Session对象的使用。 (2) 熟练掌握Request、Response对象的使用。 (3) 掌握跨页面提交的应用。 二、实验内容 1.设计并实现一个简易聊天室 要求如下: (1) 页面浏览效果如图4-1~图4-4所示。 (2) 用户名和密码信息存储在二维数组中。 (3) 图4-2~图4-4使用框架技术。 (4) 必须包含Response、Session和Application对象的应用。 图4-1 “聊天室”浏览效果(1) 图4-2 “聊天室”浏览效果(2)

图4-3 “聊天室”浏览效果(3) 图4-4 “聊天室”浏览效果(4) 2.设计并实现同一个简易的购物车 要求如下: (1)页面浏览效果如图4-5所示

图4-5 购物车效果(1) (2) 选择相应宠物,单击放入“放入购物车”按钮,可看到供选择的宠物,如图4-6所 示。 图4-6 购物车效果(2) (3) 如图4-7所示,单击“清空购物车”按钮,将清除购物车中的宠物信息,并显示“没 有选择任何宠物”的提示信息。 图4-7 购物车效果(3) 三、实验步骤 1. 设计并实现一个简易的聊天室 (1)新建网站 新建一个网站,添加Web窗体ChatLogin.aspx、Web窗体ChatDisplay.aspx、Web 窗体SendMessage.aspx、HTML页Chat.htm和全局应用程序类Global.asax。其中ChatLogin.aspx用于聊天室用户登录;ChatDisplay.aspx用于显示聊天信息;

Aspnet复习题

https://www.doczj.com/doc/4217888879.html, 复习题1 一、选择题 1、下列标记不属于HTML文档的基本结构的是:() A B C D

2、请问下面程序段执行完毕,页面上显示内容是什么:() Response.Write (“新浪”) A 新浪 B 新浪 C 新浪 D 该句有错,无法正常输出 3、Session对象的默认有效期为多少分钟:() A 10 B 15 C 20 D 应用程序从启动到结束 4、下面哪一个对象用于与数据源建立连接:() A Command B Connection C DataReader D DataAdapter 5、Global.asax文件中Session_Start事件何时激发() A 在每个请求开始时激发 B 尝试对使用进行身份验证时激发 C 启动会话时激发 D 在应用程序启动时激发 6、下面哪一个文件是全局配置文件() A Global.asax B Web.config C Styles.css D AssemblyInfo.vb 7、需要写入与HTML标记相同的文本时,应利用以下何种方法进行编码:() A Response.Server.(HtmlEnc ode (“”)) B Response.Write(“Server.HtmlEncode (“”)”) C Response.Write(Server.HtmlEncode (“”)) D Server.Server(Write.HtmlEncode (“”)) 8、下列说法正确的是( ) A 页面上有动态的东西就是动态网页 B 静态网页内容固定,交互性能比动态网页差 C ASP、JSP和https://www.doczj.com/doc/4217888879.html,技术都是把脚本语言嵌入到HTML文档中 D https://www.doczj.com/doc/4217888879.html,程序和ASP程序一样都是解释执行 9、下面关于HTML的描述错误的是( ) A 超文本标记语言,一种为Internet文档设计的标记语言 B 与操作系统平台的选择无关,只要有浏览器就可以运行HTML文档 C 所有的标记都是成对出现 D 由浏览器解释HTML标记符号并以它们指定的格式把相应的内容显示在屏幕上 10、下列关于https://www.doczj.com/doc/4217888879.html,的验证控件描述错误的是( )

aspnet七大内置对象

aspnet七大内置对象

一、Response对象 Response对象是HttpResponse类的一个实例。该类主要是封装来自https://www.doczj.com/doc/4217888879.html,操作的HTTP响应信息。 1、Response对象的属性 属性说明属性值 BufferOutput 获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之 后将其发送如果缓冲了到客户端的输出,则为true;否则为false。默认为true 续表 属性说明属性值 Cache获取Web页的缓存策略(过期时间、保密性、变化子句) 包含有关当前响应的缓存策略信息的HttpCachePolicy对 象 Charset获取或设置输出流的HTTP字符集输出流的HTTP字符集 IsClientConnected获取一个值,通过该值指示客户端是否仍连接在服务器上如果客户端当前仍在连接,则为true;否则为false 实例:使用缓冲区 由于Response对象的BufferOutput属性 默认为True,所以要输出到客户端的数据都暂 时存储在缓冲区内,等到所有的事件程序,以及 所有的页面对象全部解译完毕后,才将所有在缓 冲区中的数据送到客户端的浏览器。下面的例子 将演示缓冲区是如何工作的。

<% Response.Write("缓存已清除" + "
"); %> 上述程序代码实例首先在“Page_Load”事件中送出“缓存清除前”这一行,此时的数据存在缓冲区中。接着使用Response对象的Clear 方法将缓冲区的数据清除,所以刚刚送出的字符串已经被清除。然后IIS开始读取HTML组件的部分,并将结果送至客户端的浏览器。由执行结果只出现“缓存已清除”可知,使用Clear方法之前的数据并没有出现在浏览器上,所以程序

文本预览
相关文档 最新文档