第5章-ASP-NET的常用对象课件

上传人:痛*** 文档编号:241639645 上传时间:2024-07-12 格式:PPT 页数:71 大小:1.14MB
返回 下载 相关 举报
第5章-ASP-NET的常用对象课件_第1页
第1页 / 共71页
第5章-ASP-NET的常用对象课件_第2页
第2页 / 共71页
第5章-ASP-NET的常用对象课件_第3页
第3页 / 共71页
点击查看更多>>
资源描述
第第5 5章章ASP.NETASP.NET的常用对象的常用对象5.1 ASP.NET对象概述对象概述5.2 Page对象对象5.3 Response对象对象5.4 Request对象对象5.5 Server对象对象5.6 Application对象对象5.7 Session对象对象5.8 Cookie对象对象5.9 配置配置Global.asax文件文件5.1 ASP.NET5.1 ASP.NET对象概述对象概述ASP.NET中常用的内置对象及其说明如下表所示。中常用的内置对象及其说明如下表所示。对象名对象名说明说明Page用于操作整个网页。用于操作整个网页。Response用于向浏览器输出信息。用于向浏览器输出信息。Request提供对当前网页请求的访问。提供对当前网页请求的访问。Server提供服务器端的一些属性和方法。提供服务器端的一些属性和方法。Application提供对所有会话的应用程序范围的方法和事件的访问。提供对所有会话的应用程序范围的方法和事件的访问。还提供对可用于存储信息的应用程序范围的缓存的访问。还提供对可用于存储信息的应用程序范围的缓存的访问。Session用于存储特定用户的会话信息。用于存储特定用户的会话信息。Cookie用于设置或获取用于设置或获取Cookie信息。信息。5.2 Page5.2 Page对象对象Page对象其实就是对象其实就是Web应用程序的应用程序的.aspx文件,又称为页面。文件,又称为页面。也就是说,每一个也就是说,每一个ASP.NET网页都是一个网页都是一个Page对象,对象,Page对象是由对象是由System.Web.UI命名空间中的命名空间中的Page类来实现的,类来实现的,Page类与扩展名为类与扩展名为.aspx的的文件相关联,这些文件在运行时被编译为文件相关联,这些文件在运行时被编译为Page对象,并缓存在服务器内存对象,并缓存在服务器内存中。中。5.2.1 ASP.NET网页的处理过程网页的处理过程5.2.1 Page对象的属性对象的属性Page对象的常用属性及其说明如下表所示,除此之外,对象的常用属性及其说明如下表所示,除此之外,Page对象还对象还包括包括Response、Request、Server、Session和和Application对象属性。对象属性。属性属性说明说明ClientQueryString 获取请求的获取请求的URL的查询字符串部分。的查询字符串部分。ErrorPage 获取或设置错误页,在发生未处理的页异常的事件时请求浏览器将获取或设置错误页,在发生未处理的页异常的事件时请求浏览器将被重定向到该页。被重定向到该页。Form获取网页的获取网页的HTML窗体。窗体。IsPostBack 获取一个值,该值指示该页是否正为响应客户端回发而加载,或者获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。它是否正被首次加载和访问。IsValid 获取一个值,该值指示页验证是否成功。获取一个值,该值指示页验证是否成功。Master 获取确定页的整体外观的母版页。获取确定页的整体外观的母版页。MasterPageFile 获取或设置母版页的文件名。获取或设置母版页的文件名。1.IsPostBack属性属性获取一个布尔值,为时获取一个布尔值,为时True表示当前网页是为响应客户端回发表示当前网页是为响应客户端回发(PostBack,指网页及操作状态传回服务器)而加载,为,指网页及操作状态传回服务器)而加载,为False时表示首时表示首次加载和访问网页。次加载和访问网页。在在Page_Load事件处理过程中,通过该属性可以实现首次加载和回发事件处理过程中,通过该属性可以实现首次加载和回发时执行不同的程序代码,例如:时执行不同的程序代码,例如:void Page_Load(Object o,EventArgs e)if(!Page.IsPostBack)/如果网页为首次加载,则进行一些操作如果网页为首次加载,则进行一些操作 2.IsValid属性属性获取一个布尔值,指示网页上的验证控件是否验证成功。若网页验证获取一个布尔值,指示网页上的验证控件是否验证成功。若网页验证控件全部验证成功,该值为控件全部验证成功,该值为True,否则为,否则为False。IsValid属性在网页验证中起着重要作用。例如,以下事件过程通过属性在网页验证中起着重要作用。例如,以下事件过程通过mylabel标签输出验证结果:标签输出验证结果:void Button1_Click(Object Sender,EventArgs E)if(Page.IsValid)/也可写成也可写成if(Page.IsValid=true)mylabel.Text=信息验证成功信息验证成功!;else mylabel.Text=信息验证失败信息验证失败;5.2.2 Page对象的方法对象的方法Page对象的常用方法及其说明如下表所示。对象的常用方法及其说明如下表所示。方法方法说明说明DataBind将数据源绑定到被调用的服务器控件及其所有子控件将数据源绑定到被调用的服务器控件及其所有子控件FindControl在页面中搜索指定的服务器控件在页面中搜索指定的服务器控件RegisterClientScriptBlock向页面发出客户端脚本块向页面发出客户端脚本块MapPath 检索虚拟路径(绝对的或相对的)或应用程序相关的路检索虚拟路径(绝对的或相对的)或应用程序相关的路径映射到的物理路径。径映射到的物理路径。Validate指示页面中所有验证控件进行验证指示页面中所有验证控件进行验证5.2.3 Page对象的事件对象的事件Page的常用事件及其说明如下表所示,的常用事件及其说明如下表所示,事件事件说明说明Init当服务器控件初始化时发生当服务器控件初始化时发生Load当服务器控件加载到当服务器控件加载到Page对象中时发生对象中时发生Unload当服务器控件从内存中卸载时发生当服务器控件从内存中卸载时发生1.Init事件事件Init事件对应的事件处理过程为事件对应的事件处理过程为Page_Init。在初始化网页时触发该事。在初始化网页时触发该事件。件。Init事件只触发一次。事件只触发一次。Init事件通常用来完成系统所需的初始化,如设事件通常用来完成系统所需的初始化,如设置网页、控件属性的初始值。置网页、控件属性的初始值。2.Load事件事件Load事件对应的事件处理过程为事件对应的事件处理过程为Page_Load。当在内存中加载网页时。当在内存中加载网页时触发该事件。触发该事件。Load事件可以触发多次。不管是首次加载,还是按用户要事件可以触发多次。不管是首次加载,还是按用户要求回送信息再次调用网页的回发加载,求回送信息再次调用网页的回发加载,Page_Load事件处理过程都会被执事件处理过程都会被执行。行。3.Unload事件事件Unload事件对应的事件处理过程为事件对应的事件处理过程为Page_Unload。当网页从内存中卸。当网页从内存中卸载并将输出结果发送给浏览器时触发该事件。载并将输出结果发送给浏览器时触发该事件。Unload事件主要用来执行最后的资源清理工作,如关闭文件、关闭数事件主要用来执行最后的资源清理工作,如关闭文件、关闭数据库连接和释放对象等。由于这个事件是最后事件,网页的所有内容已经据库连接和释放对象等。由于这个事件是最后事件,网页的所有内容已经传到客户端浏览器,所以不能使用它来改变控件。这个事件并不是指用户传到客户端浏览器,所以不能使用它来改变控件。这个事件并不是指用户在浏览器端关闭网页,而是从在浏览器端关闭网页,而是从IIS角度讲,网页从内存中卸载时发生这个角度讲,网页从内存中卸载时发生这个事件。事件。【例例5.1】设计一个使用设计一个使用Page对象的对象的IsPostBack属性的网页属性的网页WebForm5-1。其设计步骤如下:其设计步骤如下:(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-1的的空网页。空网页。(2)其设计界面中包含一个文本框)其设计界面中包含一个文本框TextBox1、一个按钮、一个按钮Button1和一和一个标签个标签Label1。在该网页上设计如下事件过程:。在该网页上设计如下事件过程:protected void Page_Load(object sender,EventArgs e)if(Page.IsPostBack=true)Label1.Text=TextBox1.Text+:您好,已经提交了您好,已经提交了!;else Label1.Text=您还没有提交您还没有提交!;protected void Button1_Click(object sender,EventArgs e)/不含任何代码不含任何代码设计界面设计界面运行界面运行界面5.3 Response5.3 Response对象对象Response对象用于控制服务器发送给浏览器的信息,包括直接发送对象用于控制服务器发送给浏览器的信息,包括直接发送信息给浏览器、重定向浏览器到另一个信息给浏览器、重定向浏览器到另一个URL或设置或设置cookie的值。的值。5.3.1 Response对象的属性对象的属性属性属性说明说明BufferBuffer获取或设置一个值,该值指示是否缓冲输出,并在完成处理整获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送个响应之后将其发送BufferOutputBufferOutput 获取或设置一个值,该值指示是否缓冲输出,并在完成处理整获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送个页之后将其发送Cache Cache 获取网页的缓存策略(过期时间、保密性、变化子句)获取网页的缓存策略(过期时间、保密性、变化子句)Cookies Cookies 获取响应获取响应CookieCookie集合集合Expires Expires 获取或设置在浏览器上缓存的页过期之前的分钟数。如果用户获取或设置在浏览器上缓存的页过期之前的分钟数。如果用户在页面过期之前返回该页,则显示缓存版本。提供在页面过期之前返回该页,则显示缓存版本。提供 Expires Expires 是为了与以前版本的是为了与以前版本的 ASP ASP 兼容兼容IsClientConnectedIsClientConnected 获取一个值,通过该值指示客户端是否仍连接在服务器上获取一个值,通过该值指示客户端是否仍连接在服务器上5.3.2 Response对象的方法对象的方法方法方法说明说明Output启用到输出启用到输出HTTP响应流的文本输出响应流的文本输出OutputStream 启用到输出启用到输出HTTP内容主体的二进制输出内容主体的二进制输出RedirectLocation 获取或设置获取或设置HTTP“位置位置”标头的值标头的值Status 设置返回到客户端的设置返回到客户端的Status栏栏AppendCookie 将一个将一个HTTP Cookie添加到内部添加到内部Cookie集合集合AppendToLog 将自定义日志信息添加到将自定义日志信息添加到Internet信息服务信息服务(IIS)日志文件日志文件BinaryWrite 将一个二进制字符串写入将一个二进制字符串写入HTTP输出流输出流Clear 清除缓冲区流中的所有内容输出清除缓冲区流中的所有内容输出ClearContent 清除缓冲区流中的所有内容输出清除缓冲区流中的所有内容输出ClearHeaders 清除缓冲区流中的所有头清除缓冲区流中的所有头Close 关闭到客户端的套接字连接关闭到客户端的套接字连接End将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 EndRequest 事件事件Redirect将客户端重定向到新的将客户端重定向到新的URLWrite 将信息写入将信息写入HTTP响应输出流响应输出流WriteFile 将指定的文件直接写入将指定的文件直接写入HTTP响应输出流响应输出流1.Write方法方法Write方法可以将一个字符串写入方法可以将一个字符串写入HTTP响应输出流。例如:响应输出流。例如:Response.Write(现在时间为:现在时间为:+DateTime.Now.ToString();用于输出当前的时间。用于输出当前的时间。实际上实际上Write方法将指定的字符串输出到客户端,由客户端浏览器解方法将指定的字符串输出到客户端,由客户端浏览器解释后输出,所以这个输出字符串中可以包含一些释后输出,所以这个输出字符串中可以包含一些HTML格外输出标记。格外输出标记。2.Redirect方法方法使用使用Redirect方法可以实现在不同页面之间进行跳转的功能,也就是方法可以实现在不同页面之间进行跳转的功能,也就是可以从一个网页地址转到另一个网页地址,可以是本机的网页,也可以是可以从一个网页地址转到另一个网页地址,可以是本机的网页,也可以是远程的网页地址。例如,输入以下代码:远程的网页地址。例如,输入以下代码:Response.Redirect(http:/ WebForm5-2网页运行界面网页运行界面(2)其设计界面中不包含任何内容。在该网页上设计如下事件过)其设计界面中不包含任何内容。在该网页上设计如下事件过程:程:protected void Page_Load(object sender,EventArgs e)Response.Write(中华人民共和国中华人民共和国);Response.Write(中华人民共和国中华人民共和国);Response.Write(中华人民共和国中华人民共和国);Response.Write(中华人民共和国中华人民共和国);运行界面运行界面5.4 Request5.4 Request对象对象Request对象的主要功能是从客户端获取数据。对象的主要功能是从客户端获取数据。使用该对象可以访问任何使用该对象可以访问任何HTTP请求传递的信息,包括使用请求传递的信息,包括使用POST方方法或者法或者GET方法传递的参数、方法传递的参数、cookie和用户验证。和用户验证。5.4.1 Request对象的属性对象的属性属性属性 说明说明ApplicationPath获取获取ASP.NET应用的虚拟目录(应用的虚拟目录(URL)PhysicalPath获得获得ASP.NET应用的物理目录应用的物理目录Browser获取有关正在请求客户的客户端的浏览器功能的信息获取有关正在请求客户的客户端的浏览器功能的信息Cookies获取在请求中发送的获取在请求中发送的Cookies集。集。FilePath获取当前请求的虚拟路径获取当前请求的虚拟路径Form获取回传到网页的窗体变量集。获取回传到网页的窗体变量集。Headers获取获取HTTP头部头部ServerVariables获取服务器变量的名字获取服务器变量的名字/值集值集QueryString获取获取HTTP查询字符串变量集合查询字符串变量集合Url获取有关当前请求的获取有关当前请求的URL的信息的信息UserHostAddress获取客户端主机的地址获取客户端主机的地址5.4.2 Request对象的方法对象的方法1.MapPath方法方法其使用语法格式如下:其使用语法格式如下:MapPath(VirtualPath)该方法将当前请求的该方法将当前请求的URL中的虚拟路径中的虚拟路径VirtualPath映射到服务器映射到服务器上的物理路径。参数上的物理路径。参数VirtualPath用于指定当前请求的虚拟路径(可以用于指定当前请求的虚拟路径(可以是绝对路径,也可以是相对路径)。返回值为与是绝对路径,也可以是相对路径)。返回值为与VirtualPath对应的服对应的服务器端物理路径。务器端物理路径。例如,语句:例如,语句:Response.Write(Request.MapPath(aa);在浏览器中输出在浏览器中输出aa所在的物理路径。所在的物理路径。2.SaveAs方法方法其使用语法格式如下:其使用语法格式如下:SaveAs(filename,includeHeaders)该方法将客户端的该方法将客户端的HTTP请求保存到磁盘。参数请求保存到磁盘。参数filename用于指定文用于指定文件在服务器上保存的位置;布尔型参数件在服务器上保存的位置;布尔型参数includeHearders用于指示是否同时用于指示是否同时保存保存HTTP头。头。例如:例如:Request.SaveAs(H:aaa,True);则执行后在则执行后在H盘根目录产生盘根目录产生aaa文件。文件。【例例5.3】设计一个获取客户端机器和浏览器的信息的网页设计一个获取客户端机器和浏览器的信息的网页WebForm5-3。(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-3的空网页。的空网页。(2)其设计界面中不包含任何内容。在该网页上设计如下事件过程:)其设计界面中不包含任何内容。在该网页上设计如下事件过程:protected void Page_Load(object sender,EventArgs e)Response.Write(浏览器名称和主版本号:浏览器名称和主版本号:+Request.Browser.Type+);Response.Write(“浏览器名称浏览器名称:+Request.Browser.Browser+);Response.Write(浏览器平台浏览器平台:+Request.Browser.Platform+);Response.Write(客户端客户端IP地址地址:+Request.UserHostAddress+);Response.Write(当前请求的当前请求的URL:+Request.Url+);Response.Write(当前请求的虚拟路径当前请求的虚拟路径:+Request.Path+);Response.Write(当前请求的物理路径当前请求的物理路径:+Request.PhysicalPath+);5.4.3 Request对象的应用对象的应用1.获取客户端机器和浏览器的相关信息获取客户端机器和浏览器的相关信息运行界面运行界面2.使用使用QueryString属性在网页之间传递数据属性在网页之间传递数据在上网的过程中,经常发现网址后面跟一串字符,这就是通过在上网的过程中,经常发现网址后面跟一串字符,这就是通过URL后后面的字符串在两个网页之间传递参数,面的字符串在两个网页之间传递参数,QueryString属性保存这些参数和属性保存这些参数和值,因此可以通过值,因此可以通过Request的的QueryString在网页之间传递信息。在网页之间传递信息。【例例5.4】设计两个网页设计两个网页WebForm5-4和和WebForm5-4-1,说明,说明QueryString属性的使用方法。属性的使用方法。其设计步骤如下:其设计步骤如下:(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-4的空的空网页。网页。(2)在其中添加一个文字串和一个超链接。)在其中添加一个文字串和一个超链接。请单击以下超链接请单击以下超链接 显示显示(3)在)在Myaspnet网站中添加一个名称为网站中添加一个名称为WebForm5-4-1的空网页。其中的空网页。其中包含一个文字串和一个标签包含一个文字串和一个标签Label1,在该网页上设计如下事件过程:,在该网页上设计如下事件过程:protected void Page_Load(object sender,EventArgs e)string uname,uage;uname=Request.QueryStringuname;uage=Request.QueryStringuage;Label1.Text=uname+:您好您好!您的年龄为您的年龄为+uage+岁岁;IE:http:/localhost/Myaspnet/ch5/WebForm5-4-1.aspx?uname=王华王华&uage=203.使用使用Form属性在网页之间传递数据属性在网页之间传递数据使用使用Request的的Form属性可以获取客户端通过属性可以获取客户端通过POST方式传递的表单方式传递的表单数据,从而实现网页之间的数据传递。数据,从而实现网页之间的数据传递。【例例5.5】设计两个网页设计两个网页WebForm5-5和和WebForm5-5-1,说明,说明Form属性的使用方法。属性的使用方法。其设计步骤如下:其设计步骤如下:(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-5的的空网页。空网页。(2)其中包含一个文字串、一个提交按钮和两个隐蔽文本框,对应的)其中包含一个文字串、一个提交按钮和两个隐蔽文本框,对应的视图代码如下(仅修改黑体部分代码):视图代码如下(仅修改黑体部分代码):请单击提交按钮请单击提交按钮 (3)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-5-1的的空网页。其中包含一个文字串和一个标签空网页。其中包含一个文字串和一个标签Label1,在该网页上设计如下,在该网页上设计如下事件过程:事件过程:protected void Page_Load(object sender,EventArgs e)string uname,uage;uname=Request.Formuname;uage=Request.Formuage;Label1.Text=uname+:您好您好!您的年龄为您的年龄为+uage+岁岁;5.5 Server5.5 Server对象对象Server对象提供了对服务器的方法和属性的访问,可以获取服务器对象提供了对服务器的方法和属性的访问,可以获取服务器的信息,对的信息,对HTML文本进行编码和解码等,如文件的物理路径等。文本进行编码和解码等,如文件的物理路径等。5.5.1 Server对象的属性对象的属性属性属性说明说明MachineName作用是获取服务器的名称作用是获取服务器的名称ScriptTimeOut获取和设置请求超时值(以秒计)获取和设置请求超时值(以秒计)5.5.2 Server对象的方法对象的方法方法方法说明说明CreateObject 创建创建COM对象的一个服务器实例。对象的一个服务器实例。Execute方法方法运行另一个网页以执行当前请求运行另一个网页以执行当前请求HtmlEncode方法方法对要在浏览器中显示的字符串进行编码对要在浏览器中显示的字符串进行编码HtmlDecode方法方法对已被编码以消除无效对已被编码以消除无效HTML字符的字符串进行解码字符的字符串进行解码UrlEncode方法方法对指定字符串以对指定字符串以URL格式进行编码格式进行编码UrlPathEncode 对对URL字符串的路径部分进行字符串的路径部分进行URL编码,并返回已编码的字编码,并返回已编码的字符串。符串。MapPath 返回与返回与Web服务器上的指定虚拟路径相对应的物理文件路径。服务器上的指定虚拟路径相对应的物理文件路径。Transfer终止当前网页的执行,并开始执行新的请求网页终止当前网页的执行,并开始执行新的请求网页1.MapPath方法方法使用使用MapPath方法可以获得服务器文件的物理路径。其使用语法格方法可以获得服务器文件的物理路径。其使用语法格式如下:式如下:Server.MapPath(虚拟路径字符串虚拟路径字符串);2.Transfer方法方法 用户可能希望将用户从一个用户可能希望将用户从一个ASP.NET网页重定向到另一个网页。重网页重定向到另一个网页。重定向页的方法很多,使用定向页的方法很多,使用Server.Transfer方法就是其中的一种方法,其语方法就是其中的一种方法,其语法格式如下:法格式如下:Server.Transfer(URL);Transfer方法执行完新的网页后,不再返回原网页执行。方法执行完新的网页后,不再返回原网页执行。3.Execute方法方法有时用户希望在网页运行时执行其他网页的内容后继续执行当前网有时用户希望在网页运行时执行其他网页的内容后继续执行当前网页的内容,可以使用页的内容,可以使用Server.Execute方法。其语法格式如下:方法。其语法格式如下:Server.Execute(URL);Execute方法执行完新的网页后再返回原网页执行。方法执行完新的网页后再返回原网页执行。【例例5.6】设计一个获取服务器端相关信息的网页设计一个获取服务器端相关信息的网页WebForm5-6。protected void Button1_Click(object sender,EventArgs e)Label1.Text=服务器名称服务器名称:+Server.MachineName+网页请求超时时间网页请求超时时间:+Server.ScriptTimeout.ToString()+秒秒;protected void Button2_Click(object sender,EventArgs e)string mystr1=一个字符串一个字符串;string mystr2=ab12&*%#;Label2.Text=服务器路径服务器路径:+Server.MapPath(.)+HtmlEncode:+Server.HtmlEncode(mystr1)+HtmlDecode:+Server.HtmlDecode(mystr1)+UrlEncode:+Server.UrlEncode(mystr2)+UrlDecode:+Server.UrlDecode(mystr2);设计界面设计界面运行界面运行界面5.6 Application5.6 Application对象对象Application对象是运行在对象是运行在Web应用服务器上的虚拟目录及其子目录应用服务器上的虚拟目录及其子目录下所有文件、页面、模块和可执行代码的总和。下所有文件、页面、模块和可执行代码的总和。一旦网站服务器被打开,就创建了一旦网站服务器被打开,就创建了Application对象;所有的用户共对象;所有的用户共用一个用一个Application对象并可以对其进行修改;对象并可以对其进行修改;Application对象的这一特对象的这一特性使得网站设计者可以方便地创建诸如聊天室和网站计数器等常用性使得网站设计者可以方便地创建诸如聊天室和网站计数器等常用Web应用程序。应用程序。5.6.1 Application对象的属性对象的属性属性属性说明说明Count返回返回Application集合中的对象个数集合中的对象个数Contents表示表示Application对象中对象集合,主要是为了对象中对象集合,主要是为了与以前版本的与以前版本的ASP兼容兼容5.6.2 Application对象的方法对象的方法方法方法说明说明Add向向Application集合中添加新对象集合中添加新对象Clear从从Application集合中移除所有对象集合中移除所有对象Remove从从Application集合中移除指定名称的对象集合中移除指定名称的对象RemoveAt从从Application集合中移除指定索引的对象集合中移除指定索引的对象RemoveAll从从Application集合中移除所有对象集合中移除所有对象Lock禁止其他用户修改禁止其他用户修改Application集合中的对象集合中的对象Unlock允许其他用户修改允许其他用户修改Application集合中的对象集合中的对象1.Add方法方法用于将新对象添加到用于将新对象添加到Application集合中。其语法格式如下:集合中。其语法格式如下:Application.Add(字符串字符串,对象值对象值)其中,其中,“字符串字符串”指定对象名。例如:指定对象名。例如:string str1=mystr;int int1=34;Application.Add(var1,str1);Application.Add(var2,int1);这样这样Application集合中新增了集合中新增了var1和和var2两个对象,它们的值分别是两个对象,它们的值分别是“mystr”和和34。2.Remove和和RemoveAt方法方法它们都用删除它们都用删除Application集合中的指定对象,其使用语法格式如下:集合中的指定对象,其使用语法格式如下:Application.Remove(对象名对象名);Application.RemoveAt(对象索引对象索引);例如:例如:Application.Remove(var1)/删除删除var1对象对象Application.RemoveAt(1);/删除删除var2对象对象5.6.3 Application对象的事件对象的事件 事件事件说明说明Start在整个在整个ASP.NET应用程序第一次执行时引发应用程序第一次执行时引发End在整个在整个ASP.NET应用程序结束时引发应用程序结束时引发【例例5.7】设计一个实现简单聊天功能的网页设计一个实现简单聊天功能的网页WebForm5-7。其设计步骤如下:其设计步骤如下:(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-7的的空网页。空网页。(2)其设计界面如下图所示,其中包含一个标签()其设计界面如下图所示,其中包含一个标签(Label1,用于显,用于显示聊天内容)、两个文本框(示聊天内容)、两个文本框(TextBox1和和TextBox2,分别用于输入姓,分别用于输入姓名和聊天记录,名和聊天记录,TextBox2的的TextMode属性设为属性设为MultiLine)和一个命令)和一个命令按钮(按钮(Button1,用于提交聊天记录)。在该网页上设计如下事件过程:,用于提交聊天记录)。在该网页上设计如下事件过程:设计界面设计界面单击工具栏中的单击工具栏中的按钮运行本网页,输入姓名开始聊天。再次启动按钮运行本网页,输入姓名开始聊天。再次启动IE浏览器,输入地址浏览器,输入地址http:/localhost/Myaspnet/WebForm5-7.aspx启动本网页,启动本网页,这样两个人就可以相互聊天了,如下图所示。这样两个人就可以相互聊天了,如下图所示。运行界面运行界面5.7 Session5.7 Session对象对象当用户请求一个当用户请求一个ASP.NET页面时,系统将自动创建一个页面时,系统将自动创建一个Session(会话)(会话),退出应用程序或关闭服务器时该会话撤销。,退出应用程序或关闭服务器时该会话撤销。系统在创建会话时将为其分配一个长长的字符串(系统在创建会话时将为其分配一个长长的字符串(SessionID)标识,)标识,以实现对会话进行管理和跟踪。该字符串中只包含以实现对会话进行管理和跟踪。该字符串中只包含URL中所允许的中所允许的ASCII字字符。符。SessionID具有的随机性和唯一性保证了会话不会冲突,也不会被怀有具有的随机性和唯一性保证了会话不会冲突,也不会被怀有恶意的人利用新恶意的人利用新SessionID推算出现有会话的推算出现有会话的SessionID。5.7.1 Session对象的属性对象的属性属性属性说明说明SessionID用来标识一个用来标识一个Session对象对象TimeOut获取并设置会话状态提供程序终止会话之前各请求之间所获取并设置会话状态提供程序终止会话之前各请求之间所允许的超时期限(以分钟为单位)允许的超时期限(以分钟为单位)5.7.2 Session对象的方法对象的方法方法方法说明说明Add将新的项添加到将新的项添加到Session集合中集合中Clear从从Session集合中清除所有对象,但不结束会话集合中清除所有对象,但不结束会话Abandon强行结束用户会话,并清除会话中所有信息强行结束用户会话,并清除会话中所有信息CopyTo将将Session集合复制到一维数组中集合复制到一维数组中1.Add方法方法用于将新对象添加到用于将新对象添加到Session集合中。其语法格式如下:集合中。其语法格式如下:Session.Add(字符串字符串,对象值对象值)其中,其中,“字符串字符串”指定对象名。例如:指定对象名。例如:string str1=mystr;int int1=34;Session.Add(var1,str1);Session.Add(var2,int1);2.Clear方法方法用于清除用于清除Session集合中所有对象,其使用语法格式如下:集合中所有对象,其使用语法格式如下:Session.Clear();5.7.3 Session对象的事件对象的事件事件事件说明说明Start建立建立Session对象时发生对象时发生End结束结束Session对象时发生对象时发生【例例5.8】设计一个采用设计一个采用Session对象在网页之间传递数据的网页对象在网页之间传递数据的网页WebForm5-8和和WebForm5-8-1.aspx。其设计步骤如下:其设计步骤如下:(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-8的的空网页。空网页。(2)其设计界面如下图所示,其中包含两个文本框()其设计界面如下图所示,其中包含两个文本框(TextBox1和和TextBox2,分别用于输入用户名和口令,分别用于输入用户名和口令,TextBox2的的TextMode属性设置属性设置为为Password)和一个命令按钮()和一个命令按钮(Button1)。在该网页上设计如下事件)。在该网页上设计如下事件过程:过程:protected void Button1_Click(object sender,EventArgs e)Sessionuname=TextBox1.Text;Sessionupass=TextBox2.Text;Server.Transfer(WebForm5-8-1.aspx);(3)再添加一个名称为)再添加一个名称为WebForm5-8-1.aspx的空网页,不放置任何控的空网页,不放置任何控件,在该网页上设计如下事件过程:件,在该网页上设计如下事件过程:protected void Page_Load(object sender,EventArgs e)string mystr;mystr=用户名用户名:+Sessionuname.ToString()+口口 令令:+Sessionupass.ToString();Response.Write(mystr);运行界面运行界面5.8 Cookie5.8 Cookie对象对象Response和和Request对象都有一个对象都有一个Cookies属性,它是存放属性,它是存放Cookie对象的集合。对象的集合。一个一个Cookie是一段文本信息,能随着用户请求和页面在是一段文本信息,能随着用户请求和页面在Web服务服务器和浏览器之间传递。用户每次访问站点时,器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读应用程序都可以读取取Cookie包含的信息,从而知道用户上次登陆的时间等具体信息。包含的信息,从而知道用户上次登陆的时间等具体信息。5.8.1 Cookie对象的属性对象的属性属性属性说明说明Name获取或设置获取或设置Cookie的名称的名称Expires获取或设置获取或设置Cookie的过期日期和时间的过期日期和时间Domain获取或设置获取或设置Cookie关联的域关联的域Path获取或设置要与获取或设置要与Cookie一起传输的虚拟路径一起传输的虚拟路径Secure获取或设置一个值,通过该值指示是否安全传输获取或设置一个值,通过该值指示是否安全传输CookieValue获取或设置单个获取或设置单个Cookie值值Values获取在单个获取在单个Cookie对象中包含的键值对的集合对象中包含的键值对的集合5.8.2 Cookie对象的方法对象的方法方法方法说明说明Equals判断指定的判断指定的Cookie对象是否等于当前的对象是否等于当前的Cookie对象对象ToString返回此返回此Cookie对象的一个字符串表示形式对象的一个字符串表示形式5.8.3 Cookie对象的应用对象的应用1.创建创建Cookie对象对象Cookie对象是由对象是由HttpCookie类来实现的,创建一个类来实现的,创建一个Cookie对象就是建立对象就是建立HttpCookie类的一个实例。类的一个实例。HttpCookie类具有以下构造函数:类具有以下构造函数:public HttpCookie(string name)public HttpCookie(string name,string value)其中,其中,name表示表示Cookie对象的名称(对应对象的名称(对应Name属性),属性),value表示表示Cookie对象的值(对应对象的值(对应Value属性)。例如:属性)。例如:HttpCookie cookie1=new HttpCookie(mycookie1);/新建名称为新建名称为mycookie1的的Cookie对象对象cookie1.Value=mystring;/其值为设为其值为设为mystringResponse.Cookies.Add(cookie1);/添加添加cookie1对象对象HttpCookie cookie2=new HttpCookie(mycookie2,good);/新建名称为新建名称为mycookie2的的Cookie对象对象,其值为其值为goodResponse.Cookies.Add(cookie2);/添加添加cookie2对象对象2.设置多值设置多值Cookie一个一个Cookie对象可以有多个值,通过子键区分。对象可以有多个值,通过子键区分。例如,当一个名称为例如,当一个名称为mycookie的的Cookie对象已添加到对象已添加到Response对象对象中后,可以通过以下语句设置两个子键的值:中后,可以通过以下语句设置两个子键的值:Response.Cookiesmycookieuname=Smith;Response.Cookiesmycookieuage=23.ToString();或者在创建或者在创建Cookie对象同时设置多个值:对象同时设置多个值:HttpCookie cookie=new HttpCookie(mycookie);cookie.Valuesuname=Smith;cookie.Valuesuage=23.ToString();Response.Cookies.Add(cookie);3.读取读取Cookie对象对象对于单值对于单值Cookie对象,直接用对象,直接用Request.CookiesCookie的的Name属性属性值值来读取其来读取其Cookie值。值。对于多值对于多值Cookie对象,还需加上子键名称,例如,以下语句将对象,还需加上子键名称,例如,以下语句将Name为为mycookie1的的Cookie对象的两个子键值分别在两个文本框中输出:对象的两个子键值分别在两个文本框中输出:TextBox1.Text=Request.Cookiesmycookie1uname;TextBox2.Text=Request.Cookiesmycookie1uage;4.Cookie的有效期的有效期Cookie的的Expires属性为属性为DateTime类型的,用来指定类型的,用来指定Cookie的过期的过期日期和时间即日期和时间即Cookie的有效期。浏览器在适当的时候删除已经过期的的有效期。浏览器在适当的时候删除已经过期的Cookie。如果不给。如果不给Cookie指定过期日期和时间,则为会话指定过期日期和时间,则为会话Cookie,不,不会存入用户的硬盘,在浏览器关闭后就被删除会存入用户的硬盘,在浏览器关闭后就被删除。应根据应用程序的需要来设置应根据应用程序的需要来设置Cookie的有效期,如果用来保存用的有效期,如果用来保存用户的首选项,则可以把其设置为永远有效(例如户的首选项,则可以把其设置为永远有效(例如100年),如果用来统年),如果用来统计用户访问次数,则可以把有效期设置为半年。即使设置长期有效,计用户访问次数,则可以把有效期设置为半年。即使设置长期有效,用户也可以自行决定将其全部删除。用户也可以自行决定将其全部删除。5.修改和删除修改和删除Cookie修改某个修改某个Cookie实际上是指用新的值创建新的实际上是指用新的值创建新的Cookie,并把该,并把该Cookie发送到浏览器,覆盖客户机上旧的发送到浏览器,覆盖客户机上旧的Cookie。删除删除Cookie是修改是修改Cookie的一种形式。由于的一种形式。由于Cookie位于用户的计算机位于用户的计算机中,所以无法直接将其删除。但是,可以修改中,所以无法直接将其删除。但是,可以修改Cookie将其有效期设置为过将其有效期设置为过去的某个日期,从而让浏览器删除这个已过期的去的某个日期,从而让浏览器删除这个已过期的Cookie。【例例5.9】设计一个说明设计一个说明Cookie对象使用方法的网页对象使用方法的网页WebForm5-9。其设计步骤如下:其设计步骤如下:(1)在)在Myaspnet网站的网站的ch5文件夹中添加一个名称为文件夹中添加一个名称为WebForm5-9的空的空网页。网页。(2)其设计界面如下图所示,其中包含两个文本框()其设计界面如下图所示,其中包含两个文本框(TextBox1和和TextBox2)和两个命令按钮()和两个命令按钮(Button1和和Button2)。在该网页上设计如下)。在该网页上设计如下事件过程:事件过程:设计界面设计界面protected void Button1_Click(object sender,EventArgs e)/写入写入Cookie事件过程事件过程HttpCookie cookie=new HttpCookie(mycookie);cookie.Value=TextBox1.Text;cookie.Expires=DateTime.Now.AddDays(3);/保存保存3天天 Response.Cookies.Add(cookie);protected void Button2_Click(object sender,EventArgs e)/读取读取Cookie事件过程事件过程 if(Request.Cookiesmycookie1!=null)TextBox2.Text=Request.Cookiesmycookie.Value;else Response.Write(alert(NULL);运行界面运行界面5.9 5.9 配置配置Global.Global.asaxasax文件文件每个每个ASP.NET网页面中都会存在许多的事件,如网页面中都会存在许多的事件,如Page_Load等,等,可以在网页中进行编程来处理这些事件。作为一个可以在网页中进行编程来处理这些事件。作为一个ASP.NET应用程序应用程序也存在这样的事件,如应用程序开始时要执行什么操作,一个新也存在这样的事件,如应用程序开始时要执行什么操作,一个新Session被创建的时候要进行什么操作等等。那么对这些事件的处理要被创建的时候要进行什么操作等等。那么对这些事件的处理要写在什么地方呢?通常情况下这些事件处理过程应放在写在什么地方呢?通常情况下这些事件处理过程应放在Global.asax和和Web.config这两个文件中。有关这两个文件中。有关Web.config文件的内容在以后介绍,这文件的内容在以后介绍,这里只讨论里只讨论Global.asax文件。文件。在在ASP.NET中都不会自动创建中都不会自动创建Global.asax文件,如果要创建该文文件,如果要创建该文件,选择件,选择“网站网站”|“添加新项添加新项”菜单命令,在打开的菜单命令,在打开的“添加新项添加新项”对对话框中选择话框中选择“全局应用程序类全局应用程序类”选项,单击选项,单击“添加添加”按钮即可创建一按钮即可创建一个个Global.asax文件。文件。该文件位于该文件位于ASP.NET应用程序的根目录下,其作用就是用来处理应用程序的根目录下,其作用就是用来处理与应用程序相关的一些事件。与应用程序相关的一些事件。常用的应用程序相关事件及事件被触发时间如下表所示。常用的应用程序相关事件及事件被触发时间如下表所示。事件名称事件名称事件被触发的时间事件被触发的时间Application_Start应用程序启动时应用程序启动时Seassion_Start会话启动时会话启动时Application_BeginRequest每个请求开始时每个请求开始时Application_Error发生错误时发生错误时Session_End会话结束时会话结束时Application_Ene应用程序结束时应用程序结束时【例例5.10】设计一个统计在线人数的网页设计一个统计在线人数的网页WebForm5-10。其设计步骤如下:其设计步骤如下:(1)打开)打开Myaspnet网站。网站。(2)若本网站中没有)若本网站中没有Global.asax文件,则添加一个,否则打开该文件,文件,则添加一个,否则打开该文件,修改其内容如下(只添加黑体代码部分,其他不变):修改其内容如下(只添加黑体代码部分,其他不变):void Application_Start(object sender,EventArgs e)/在应用程序启动时运行的代码在应用程序启动时运行的代码 Application.Lock();Applicationcounter=0;Application.UnLock();void Application_End(object sender,EventArgs e)/在应用程序关闭时运行的代码在应用程序关闭时运行的代码 void Application_Error(object sender,EventArgs e)/在出现未处理的错误时运行的代码在出现未处理的错误时运行的代码 void Session_Start(object sender,EventArgs e)/在新会话启动时运行的代码在新会话启动时运行的代码 Application.Lock();Applicationcounter=(int)Applicationcounter+1;Application.UnLock();void Session_End(object sender,EventArgs e)Application.Lock();Applicationcounter=(int)Applicationcounter-1;Application.UnLock();(3)在)在ch5文件夹添加一个名称为文件夹添加一个名称为WebForm5-10的空网页。在该网页上设的空网页。在该网页上设计如下事件过程:计如下事件过程:protected void Page_Load(object sender,EventArgs e)Response.Write(当前在线人数当前在线人数:+Applicationcounter.ToString();运行界面运行界面
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!