课程讲义第八章对象_第1页
课程讲义第八章对象_第2页
课程讲义第八章对象_第3页
课程讲义第八章对象_第4页
课程讲义第八章对象_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代软件开发技术(.NET)第七章 对象谢强南航计算机科学与技术学院本部12-101 21对象的基本概念对象的概念在 中对象可以看成是数据与代码的结合体,包括属性、方法、集合或事件。属性:对象的特征,表示对象的静态特性;方法:对象的行为,表示对象的动态特性;集合:指放在一起的一组相关的值;事件:对象在一定条件下产生的信息;对象分类内置对象,可以直接使用其它对象,需要创建后才能使用31对象的基本概念对象属性的访问对象名.属性名,如:Page.IsPostBack访问对象的集合类似于访问对象的属性访问对象的方法对象名.方法名(参数表)如:Response.Write(“你好!”)对象的事件处理过程

2、对象名_事件名(参数表) 或 事件名(参数表)Sub Page_Load(sender As Object , e As EventArgs)Sender:表示发生该事件的源对象e:表示传递给事件处理过程的额外描述信息42 的内置对象对 象 名 称说 明Page用于设置与网页有关的属性、方法和事件Request从浏览器(客户端)获取信息Response发送信息到客户端浏览器Server提供服务器端的属性和方法Session存储单个客户端的信息Application存储客户端的共享信息Exception捕捉 的错误,返回错误描述53 Page对象Page对象对应Web Form窗体,用来设置与网

3、页有关的各种属性、方法和事件Web Form的执行流程 首先进行网页初始化(触发Page对象的Init事件) 接着加载网页并触发Page对象的Load事件 然后如果Web Form中包含服务器控件事件,并且满足事件发生的条件,则触发相应的服务器控件事件; 最后当离开Web From时,将触发Page对象的UnLoad事件63.1 Page对象的主要属性属 性 名值操作描 述 Application对象只读获取当前Web请求的Application对象Cache对象只读获取与网页所在的应用程序相关联的Cache对象ClientTarget字符串读/写客户端浏览器属性EnableViewState

4、布尔值读/写当前网页请求结束时,是否要保持视图状态及所包含的服务器视图状态,默认为TrueErrorPageURL串读/写当前网页发生未处理的异常时,将转向错误信息网页;若未设置此属性值,将显示默认错误信息网页IsPostBack布尔值只读网页加载状况,为True表示网页是由于客户端返回数据时重新加载,False表示首次加载IsValid布尔值只读网页上验证控件是否全部通过验证成功,True|FalseRequest对象只读当前网页的Request对象Response对象只读当前网页的Response对象Server对象只读Server对象Session对象只读Session对象Trace对象

5、只读当前网页请求的Trace对象Visible布尔值读/写设置是否显示网页73.2 Page对象的常用方法方 法 名描 述DataBind将数据源与Web Form上的服务器控件进行绑定Dispose让服务器控件在释放内存前执行清理操作FindControl(id)在Web Form上搜索标识为id,若查到返回该控件,否则返回Nothing HasControls()若Page对象中包含服务器控件,则返回True,否则返回FalseMapPath(VirtualPath)将虚拟路径VirtualPath转换为实际路径典型用法:MapPath(“./”):获取当前实际路径83.3 Page对象的

6、事件事 件 名描 述Init 被请求时第一个触发的事件(首次)Load网页载入时被触发的事件Unload网页完成处理且信息被写入浏览器时触发的事件DataBinding当网页上的服务器控件连接数据源时触发的事件Disposed当网页从内存释放时触发的事件Error当网页上发生未处理的异常情况时触发的事件94 Request对象Request对象派生自HttpRequest类主要功能是从客户端获取信息经常用于获取客户端用户的输入及页面之间进行信息的传递104.1 Request对象的属性属性名值操作描述AcceptTypes字符串数组只读客户端浏览器支持的MIME接受类型字符串数组Browser

7、对象只读客户端浏览器支持的功能信息,返回 HttpBrowserCapabilities对象ClientCertificate对象只读客户端安全证书,返回HttpClientCertificate对象Headers字符串只读HTTP标头HttpMethod字符串只读客户端使用的HTTP数据传输方法(Get|Post|Head)Path字符串只读当前请求的虚拟路径、网页名称及附加信息,如URL为 则search/index.aspx/chinaTotalBytes数值只读当前客户请求的字节数PathInfo字符串只读当前请求的附加路径,如上为/chinaURL字符串只读当前请求的URL的完整信息

8、UserAgent字符串只读客户端浏览器的用户代理信息UserHostAddress字符串只读客户端的IP地址UserHostName字符串只读客户端的DNS名称114.2Request对象的集合与方法名称描述Cookies浏览器的Cookies信息Browser浏览器的能力Form客户端表单元素中所填入的信息ParamsQueryString,Form,ServerVaribles和Cookies项数据QueryStringURL请求字符串ServerVariable服务器端环境变量的值MapPath(VirPath)方法将虚拟路径VirPath指定的路径转换成实际路径,同response对

9、象一样SaveAs(filename,includeHeaders)方法将HTTP请求保存到磁盘,Filename为文件名,includeHeaders为是否保存HTTP标头124.2Request对象的应用获取表单数据若表单提交方式为Get,则表单数据以字符串形式附加在URL之后,在QueryString集合中返回服务器,例如: “1001”&name=“张三” 获取方法:Request.QueryString(“userid”) Request.QueryString(“name”)若表单以Post方式提交,则表单数据将放在浏览器请求的HTTP标头中返回浏览器,其中信息保存在Request

10、对象的Form集合中,此时需使用Request对象的Form集合来获取表单数据 例如:Request.Form(“userid”) Request.Form(“name”)” 无论表单以何种方式提交,均可用Request.Params(“xx”)读取数据或者直接使用:Request(“xx”)读取数据缺省的Form提交方式是Post134.2Request对象的应用获取服务器端环境变量Request对象的ServerVariables数据集合可用来读取服务器端的环境变量信息,用法:Request.ServerVariables(“ALL_HTTP”)ALL_HTTP:客户端发送的所有HTTP标

11、头CONTENT_LENGTH:客户端发出的内容的长度CONTENT_TYPE:客户端发出内容的数据类型,如“text/html”HTTP_HOST:客户端的主机名称HTTP_USER_AGENT:客户端浏览器信息HTTPS:客户端是否以SSL发送LOCAL_ADDR:服务器IPPATH_TRANSLATED:当前网页的实际路径QUERY_STRING:当前客户端以“GET”方式返回的表单数据 144.2Request对象的应用获取客户端浏览器的能力信息Request对象的Browser集合是HttpBrowserCapabilities类型的对象,包含了正在请求的浏览器的能力信息使用方法:R

12、equest.Browser.XX,其中XX如下:ActiveXControls:是否支持ActiveX控件BackGroundSounds:是否支持背景音乐Beta:是否为测试版ClrVersion:客户端是否安装.NET的CLR版本,若未安转返回0,0,-1,-1,若安装返回版本号Cookies:是否支持CookiesFrames:是否支持框架VBScript:是否支持VBScriptVersion:浏览器完整版本号154.2Request对象的应用获取客户端的CookieCookies数据集合用来记录客户端的信息,由HttpCookie类派生,服务器用Response对象的Cookie集

13、合向客户端的Cookie写入信息,再通过Request对象的Cookies属性来检索名称及值描述Domain=“.”可访问此Cookie对象的域Expires=“#Date#”Cookie对象的终止日期和时间HasKeysCookie对象中是否含有子键(SubKey)Item(key)=“val”向Cookie对象中添加名为val的子键也可获值Name=“.”Cookie对象的名称Value=“.”Cookie对象的值Values(Key)=“val”向Cookie对象中添加名为Key值为val的子键165 Response对象Response对象的功能正好和Request对象相反,Respo

14、nse对象用于将服务器端的信息发送到浏览器,包括将服务器端的数据用超文本格式发送到浏览器上等175.1 Response对象的主要属性属性名值操作描述Buffer布尔值读/写是否使用缓冲,缓冲处理只会在整个响应response处理完后,才将结果送出(兼容ASP)BufferOutput布尔值读/写是否使用缓冲Charset字符串读/写字符编码方式ContentType字符串读/写输出的HTTP内容的类型,缺省:text/HTMLCookies对象读/写设置客户端的CookieIsClientConected布尔值只读客户端是否仍处于与服务器的连接185.2 Response对象的常用方法方法名

15、描述AppendHeader(name,value)添加或更新HTML头部的内容AppendTolog(logstring)将自定义记录加入IIS日志文件Clear()清除缓冲的HTML输出ClearContent()清除缓冲的HTML输出ClearHeaders()清除缓冲的HTTP标头End()停止处理页面并返回当前结果Flush()将存放在缓冲区中的数据发送到客户端并清除缓冲区Redirect(Url,endResponse)通知浏览器连接到指定的URLWrite 将指定的内容写入页面文件WriteFile(FileName)将指定文件的内容写入HTTP输出195.3 Response对

16、象的使用向浏览器发送信息:Response.Write(str)重定向:Response.Redirect(URL)添加自定义日志记录:Response.AppendToLog(str)缓冲处理:将输出暂时存放在服务器的缓冲区,待程序执行结束或接收到Flush或End指令后,再将输出数据发送到客户端浏览器发送文件内容到浏览器:使用Response.WriteFile(Filename) 在指定时间段显示网页:使用Response.End()方法终止程序的继续执行205.4 Response对象的使用例子Me.Response.Write(alert(您无权使用该功能!)Response.Wri

17、te(window.close()Response.Write( window.open(forum_votes_disp.aspx ,_blank, width = 600 , height = 360 , left=150, top=100, resizable = yes, scrollbars=yes, align = center, toolbar = no , menubar = no) )Response.Redirect(“Mis_Default.aspx”)216 Server对象Server对象是最基本的 对象,派生于HttpServerUtility类,提供服务器端的基本

18、属性与方法。可通过Page对象的Server属性获取对应的Server对象,即Page.Server,其中Page可以省略。226.1 Server对象的属性和方法属性MachineName:服务器的计算机名称ScriptTimeout:获取或设置程序执行的最长时间,默认为90秒方法CreateObject(type):创建由type指定的对象或服务器组件的实例Execute(path):执行由Path指定的 程序,执行完毕后仍继续原程序的执行GetLastError:获取最近一次发生的异常HtmlEncode(string):将string指定字符串进行编码MapPath(path):将参数

19、Path指定的虚拟路径转换成实际路径Transfer(url):结束当前 程序,然后执行url指定的程序UrlEncode(string):对URL 地址进行HTML编码236.2 Server对象的使用HTML和URL的编码和解码执行指定程序:Execute()路径转换:Transfer()247 Application对象Application对象的主要作用就是让同一个应用程序内的多个用户共享信息,并在服务器运行期间持久保存数据。Application对象派生自HttpApplicationState类257.1Application对象的属性属性名值操作描述AllKeys(index)字

20、符串只读AllKeys从Contents集合中返回所有的变量名,AllKeys(index)返回下标为index的变量名Content(name|index)字符串只读Contents集合中名称为name或下标为index的变量值Count字符串只读Contents集合中的变量数Item(name|index)字符串读/写Contents集合中名称为name或下标为index的变量值StaticObjects(name)对象读/写StaticObjects集合内的所有对象变量,这些对象是在global.asax之中,以以下标记:267.2Application对象的常用方法方法名描述Add(n

21、ame,value)向Contents集合中添加名为name,值为value的变量Clear清除Contents集合中的所有变量Get(name|index)获取名为name或下标为index的变量GetKey(index)获取下标为index的变量Lock锁定,禁止其他用户修改Application对象的变量Remove(name)从Contents集合中删除名为name的变量RemoveAll清除Contents集合中的所有变量RemoveAt(index)删除Contents集合中下标为index的变量Set(name,value)设置名为name的变量的值为valueUnlock解除锁

22、定,允许其它用户修改Application对象的变量277.2Application对象的事件OnStart:在整个 应用首先被触发的事件,在一个虚拟目录下第一个 程序执行时触发OnEnd:与OnStart相反,在整个应用停止时被触发,通常发生在服务器被重起/关机时OnBeginRequest:在每一个 程序被请求时触发,即客户每访问一个 程序,就触发一次OnEndRequest: 程序结束时触发该事件。注意:Application的事件只能在Global.asax文件中定义。Global.asax必须放在Web站点或虚拟目录主目录下,客户连接Web服务器时,将首先执行Global.asax288 Session对象Session对象派生自HttpSessionState类,每一个连接用户各自拥有自己的Session对象Session对象是同一连接所有网页的共用对象Session对象是各页面之间传递信息的主要手段298.1 Session对象的属性属性名值操作描述Contents(name|index)字符串只读Conten

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论