第6章 ASP NET内部对象_第1页
第6章 ASP NET内部对象_第2页
第6章 ASP NET内部对象_第3页
第6章 ASP NET内部对象_第4页
第6章 ASP NET内部对象_第5页
已阅读5页,还剩48页未读, 继续免费阅读

下载本文档

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

文档简介

第6章ASP.NET内部对象6.1ASP.NET内部对象简介6.1.1ASP.NET常用内部对象ASP.NET中常用的内部对象有8个。6.1ASP.NET内部对象简介6.1.2ASP.NET对象的访问每个对象都有其特有的属性、事件和方法。其中属性用来描述对象的静态特征;事件指对象在一定条件下产生的信息,如Page对象,页面被请求时将引发Init事件;方法反映了对象的行为,表示对象的动态特征。1.访问对象属性的语法

对象名.属性名

例如:使用Page对象的IsPostBack属性的语法格式为Page.IsPostBack。

6.1ASP.NET内部对象简介2.访问对象方法的语法

对象名.方法名(参数表)

例如,使用Response对象的Write方法输出字符串: Response.Write(“HelloWorld!”);3.对象事件处理程序的语法

对象名_事件名(参数)

例如:Page对象的Load事件的默认处理程序 privatevoidPage_Load(objectsender,SystemEventArgse)

{

}6.2Page对象Page对象包含用于ASP.NET页面的所有方法和属性。每次ASP.NET页面请求,Page对象都会以动态方式创建HTML标记并返回浏览器,并同时处理收到的请求(Request)并响应(Response)。6.2Page对象【例6-1】Page对象的IsPostBack属性。

要求:有一个包含输入姓名文本框的网页。第一次浏览该网页时显示“请提交姓名”提示信息;提交姓名后则显示欢迎信息。6.3Response对象Response对象继承于System.Web.HttpResponse类,主要用于将信息发送到客户端。除此以外该对象还具有一些特殊功能,比如重定向页面等。6.3.1Response对象的属性和方法Response对象的常用属性与方法如表所示。6.3Response对象6.3.1Response对象的属性和方法6.3Response对象6.3.2使用Write方法输出信息Response对象的Write方法可以灵活地向客户端浏览器输出信息,显示效果与Label标签相似。语法如下:Response.Write(字符串或变量或HTML代码)例如:Response.Write(“欢迎学习ASP.NET!”);//输出字符串Response.Write(user_name+“欢迎您!”);//输出变量和字符串Response.Write(“<h1>欢迎光临!</h1>”);//输出HTML代码,标题样式16.3Response对象【例6-2】

通过Write方法输出信息。

要求:通过Response.Write方法在浏览器上显示字符串、变量值和HTML代码。6.3Response对象6.3.3使用Redirect方法重定向页面通过超链接的方式将用户引导到另一个页面,其缺点是用户必须点击超链接。如果希望不用点击超链接就能够将用户自动引导(即重定向)到另一个页面,该如何处理呢?这种情况下可以使用Redirect方法。语法如下:Response.Write(“网址变量或网址字符串”)例如:Response.Write(“”);//重定向至新浪网Response.Write(strUrl);//重定向至变量strUrl表示的网址Response.Write(“admin.aspx”);//重定向至网站内部的其它网页6.3Response对象【例6-3】Redirect方法重定向。

要求:用户选择其身份(用户、管理员),系统根据用户的选择将其自动引导到相应的页面。6.4Request对象继承于System.Web命名空间的HttpRequest类,主要用于获取用户在Web表单中提交的信息或URL中的参数信息,也可以通过这个方法获得客户端IP地址、客户端浏览器版本等信息。6.4.1Request对象的数据集合、属性和方法6.4Request对象6.4.1Request对象的数据集合、属性和方法Request对象的语法为:Request[.数据集合|属性|.方法](变量或字符串)例如:Request.QueryString[“id”];Request.TotalBytes;6.4Request对象6.4.2QueryString数据集合QueryString数据集合是Request对象中最重要的数据集合,用于获取标识在URL后面附带的参数及其值(也称查询字符串)。查询字符串与URL用“?”符号连接,每个参数之间用“&”符号隔开。该数据集合的使用方法如下:①假设在某页面中存在如下连接到admin.aspx页面的超链接: /admin/admin.aspx?name=杨欣&type=管理员②可以在admin.aspx页面中通过如下方法获取参数的值: stringname=Request.QueryString[“name”]; stringtype=Request.QueryString[“type”];③结果是:name=“杨欣”,type=“管理员”6.4Request对象【例6-4】通过QueryString数据集合获取标识在URL后面的查询参数的值。

要求:点击6-4.aspx页面上的超链接(仍然链接回6-4.aspx页面),获取查询字符串的参数值。6.4Request对象6.4.3ServerVariables数据集合利用Request对象的ServerVariables数据集合可以获取服务器端和客户端的环境变量信息,如客户端的IP地址等。CONTENT_TYPE

客户端发出文件的数据类型REMOTE_ADDR客户端IP地址REMOTE_HOST客户端主机名

该数据集合的语法如下:Request.ServerVariables(“环境变量名称”)

例如:Request.ServerVariables[“Remote_Addr”];//返回客户端IP地址Request.ServerVariables[“Remote_Host”];//返回客户端主机名称6.4Request对象6.4.4Browser数据集合Browser数据集合可以获取客户端浏览器的特性,如浏览器的类型、版本、是否支持背景音乐、是否支持Cookies、是否支持Java小程序等。Browser

浏览器类型Cookies

是否支持Cookies,true表示支持,false表示不支持JavaScript

是否支持JavaScript,true表示支持,false表示不支持

该数据集合的语法如下:Request.Browser[“浏览器特性名称”]

例如:Request.Browser[“Browser”];//返回客户端浏览器类型Request.Browser[“Version”];

//返回客户端浏览器版本Request.Browser[“Cookies”];//是否支持Cookies,true或false6.5HttpCookies对象HttpCookies对象处理Cookies文件。Cookies俗称小甜饼,是服务器端发送给客户端浏览器的文本串句柄,保存在客户的硬盘上。Cookies文件可以记录浏览者的个人信息、浏览器类型、访问该网站的时间、从事过哪些访问等,广泛应用于各种电子商务网站中。在ASP.NET中利用Response对象的Cookies方法建立Cookies,利用Request对象的Cookies方法读取Cookies。6.5HttpCookies对象6.5.1保存Cookies信息通过Response对象的Cookies方法设置Cookies的值,语法如下: Response.Cookies(“CookiesName”)[(key)|.属性]=字符串6.5HttpCookies对象举例说明:(1)设置不含关键字的Cookies。Response.Cookies(“name”).Value=”张爽”;//设置不含关键字key(2)设置包含关键字的CookiesResponse.Cookies(“admin”)(“name”)=”杨欣”;//包含关键字nameResponse.Cookies(“admin”)(“sex”)=”女”;//包含关键字sexResponse.Cookies(“admin”)(“age”)=”21”;//包含关键字age(3)设置Cookies有效期Response.Cookies(“admin”).Expires=#10-21-2010#;//设置有效期到2010年10月21日6.5HttpCookies对象6.5.2读取Cookies信息通过Request对象的Cookies方法可以将Cookies的值读取出来,语法如下:Request.Cookies(“CookiesName”)[(key)|.属性]6.5HttpCookies对象举例说明:(1)读取不含关键字的Cookies。user_name=Request.Cookies(“name”).Value=”张爽”;//读取Cookies(“name”)的值(2)读取包含关键字的Cookiesuser_name=Request.Cookies(“admin”)(“name”);//读取name关键字的值user_sex=Request.Cookies(“admin”)(“sex”);//读取sex关键字的值user_age=Request.Cookies(“admin”)(“age”);//读取age关键字的值(3)判断Cookies中是否包含关键字iskey=Request.Cookies(“admin”).HasKeys;//包含关键字则iskey变量为true,否则为false6.5HttpCookies对象【例6-5】保存、读取Cookies。

要求:在6-5a.aspx页面中保存Cookies变量,在6-5b.aspx页面中读取Cookies变量。6.6Session对象Session对象用于保存用户的个人信息。与Cookies对象相比,区别在于Session对象保存的位置是服务器。Session对象的两个重要的特点是:①一旦Session变量在网站的某个页面被建立,那么该网站的所有页面都可以操作这个Session变量,即Session对象保存的信息在整个网站内都有效。②Session对象是用户所私有的,只能自己访问,别的用户无权访问。Session对象的主要功能是完成用户私有信息在网站各页面之间的传递。例如,管理员登录后,其特定的Session信息可以允许管理员访问网站的管理功能页面。6.6Session对象6.6Session对象6.6.1Session的存储与读取存储Session信息的语法如下:读取Session信息的语法如下:利用Session信息可以在整个网站内都有效这个特点,可以将Session[“SessionName”]看作一个常量使用。如果读取不存在的Session,则会返回Nothing。Session[“SessionName”]=变量|常量|字符串变量=Session[“SessionName”]6.6Session对象【例6-6】保存、读取Session。

要求:用户输入用户名与密码。如果输入正确,先将用户名保存在Session变量中,再将用户引导至新的页面,并在新页面中读取Session变量。6.6Session对象6.6.2设置Session的有效期Session的默认有效期是20分钟,客户端打开浏览器就会创建一个Session对象,如果关闭了浏览器或者在20分钟之内没有与服务器进行交互,Session对象就自动关闭。通过Timeout属性可以修改Session对象的有效期,语法:在Session信息自动到期之前,也可以通过Abandon方法强制清除Session信息,语法如下:Session.Timeout=分钟;例如:Session.Timeout=30;//设置有效期为30分钟Session.Abandon();6.7Application对象Applcation对象主要用于在同一个ASP.NET应用程序的多个用户之间共享状态信息,它可以被全局用户访问,因此可以创建和保存全局级别的变量。Application对象与Session对象的区别是:Application对象保存的信息是对所有用户开放的。针对Application对象在信息共享方面的特点,Application对象主要应用于聊天室、留言板中。Application对象没有有效期的限制,它是一直存在的,从应用程序启动到应用程序停止。比如服务器重启后Application对象中的信息就丢失了。6.7Application对象6.7.1Application对象的方法和事件6.7Application对象6.7.1Application对象的方法和事件既然Application对象是任何用户都可以存取的,那么就有可能多个用户同时更改一个Application对象的值,这就有可能会造成相互干扰,此时该如何处理呢?用户在修改Application对象数据时,首先通过Lock方法将Application对象锁定,别的用户就无权修改Application对象,修改完毕后再通过Unlock方法解锁。读取Application对象时不需要进行锁定。6.7Application对象6.7.2Application对象的信息读写写入和读取Application变量信息的语法如下:【例6-7】

读写Application变量。

要求:利用Application对象实现一个简单的聊天室应用程序。写入:Application[“ApplicationName”]=变量|常量|字符串读取:变量=Application[“ApplicationName”]6.8Server对象Server对象用于访问服务器。例如,得到服务器上某文件的物理路径、设置某文件的执行期限和对字符进行编码。6.8Server对象6.8.1HtmlEncode和UrlEncode方法

1.HTML格式的编码(HtmlEncode)浏览器是对HTML代码进行逐行解释执行的。例如“<b>HTML与URL格式的编码与解码</b>”这样的HTML代码将首先被解释,然后才会将解释后的结果显示在浏览器中。HtmlEncode方法给我们提供了将HTML代码不经过解释就直接输出的功能,语法如下:Server.HtmlEncode(变量或字符串)6.8Server对象6.8.1HtmlEncode和UrlEncode方法

2.URL格式的编码(UrlEncode)UrlEncode方法能够把URL字符串转换为相应的URL编码。使用URLEncode方法的目的是为了避免不同的浏览器因为URL中存在特殊的字符而出现错误解释。例如,<ahref=”admin.aspx?name=马云”>。“马云”中间的空格在某些浏览器上就可能无法被正确识别,为了避免这种错误,可以改写为:<ahref=”admin.aspx?name=<%=Server.UrlEncode(“马云”)%>”>6.8Server对象6.8.1HtmlEncode和UrlEncode方法例6-8】HTML与URL格式的编码。

要求:利用HTMLEncode方法和URLEncode方法对字符串“<b>HTML与URL格式的编码与解码</b></br>”进行编码并查看结果。6.8Server对象6.8.2MapPath方法MapPath方法可以将服务器上的虚拟路径转换为物理路径,MapPath方法经常用于获取服务器上的图片、XML文件、Access数据库文件的实际物理路径。语法如下:【例6-9】

使用MapPath方法。

要求:在应用程序中创建两个页面(6-9.aspx和Default.aspx),在6-9.aspx中显示出Default.aspx页面的物理路径。Server.MapPath(虚拟路径字符串)6.8Server对象6.8.3Execute和Transfer方法Execute方法和Transfer方法均会停止当前页面的执行,并将用户带到由此方法的参数URL指定的页面。语法如下:Server.Execute(变量或字符串);Server.Transfer(变量或字符串);6.8Server对象6.8.3Execute和Transfer方法【例6-10】

演示Execute和Transfer方法。

要求:创建6-10b.aspx页面(包含一个水平线和一个超链接)。在6-10a.aspx页面中设计两个按钮,分别通过Execute和Transfer方法重定向到6-10b.aspx页面。6.10实用案例6.10.1用户注册与登录用户注册与登录是多数网站提供的基本功能。开发时主要需要注意两点:注册过程中要对注册的用户名进行检查,防止与数据库中现有的用户名重复。要对登录后进入的页面进行安全设置,防止未经登录非法访问。6.10实用案例案例的运行界面如图。6.10实用案例

1.相关知识文本框、按钮、验证控件SqlConnection对象SqlCommand对象SqlDataRe

温馨提示

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

评论

0/150

提交评论