- 16
- 0
- 约9.02千字
- 约 51页
- 2019-01-18 发布于湖北
- 举报
HTTP请求、响应及状态管理 本章要点: 掌握HttpRequest对象的应用 掌握HttpResponse对象的应用 掌握HttpServerUtility对象的应用,理解不同方法的页面重定向 掌握跨页面提交的应用。了解ViewState、HiddenField,掌握Cookie、Session、Application、Profile应用。 6.1 HTTP请求 ASP.NET通过Page类的属性Request能很好地控制请求数据,如访问客户端的浏览器信息、查询字符串、Cookie等信息。 HttpRequest对象的数据集合对应表 QueryString数据集合 使用QueryString获得的查询字符串是指跟在URL后面的变量及值,以“?”与URL间隔,不同的变量之间以“”间隔。 实例6-1 QueryString的使用 源程序:QueryString1.aspx QueryString2.aspx ServerVariables数据集合 可很方便地取得服务器端或客户端的环境变量信息,如客户端的IP地址等。 常用的环境变量表 Browser数据集合 用于判断用户的浏览器类型、版本等,以便根据不同的浏览器编写不同的网页。 浏览器特性名对应表 实例6-2 ServerVariables和Browser应用 源程序:Request.aspx 6.2 HTTP响应 ASP.NET通过Page类的属性Response可以很好地控制输出的内容和方式,如页面重定向、保存Cookie等。 HttpResponse对象的常用属性和方法表 实例6-3 Write()方法应用 源程序:Write.aspx 实例6-4 Redirect()方法应用 源程序:Redirect.aspx Teacher.aspx 6.3 HttpServerUtility Page类的属性Server(即HttpServerUtility对象)封装了服务器端的一些操作,如转换XHTML元素标志、获取网页的物理路径等。 HttpServerUtility对象的常用属性和方法表 区分Response.Redirect()、Server.Execute()和Server.Transfer() Redirect()方法尽管在服务器端执行,但重定向实际发生在客户端,可从浏览器地址栏中看到地址变化;而Execute()和Transfer()方法的重定向实际发生在服务器端,在浏览器的地址栏中看不到地址变化。 Redirect()和Transfer()方法执行完新网页后,并不返回原网页;而Execute()方法执行完新网页后会返回原网页继续执行。 区分Response.Redirect()、Server.Execute()和Server.Transfer() (续) Redirect()方法可重定向到同一网站的不同网页,也可重定向到其它网站的网页;而Execute()和Transfer()方法只能重定向到同一网站的不同网页。 利用Redirect()方法在不同网页之间传递数据时,状态管理采用查询字符串形式;而Execute()和Transfer()方法的状态管理方式与Button按钮的跨网页提交方式相同。 实例6-5 HttpServerUtility对象应用 Server.HtmlEncode()方法常用于在页面输出XHTML元素,若直接输出,浏览器会将这些XHTML元素解释输出。Server.UrlEncode()常用于处理链接地址,如地址中包含空格等。 单击“Student.aspx链接”时将丢失“张”后面的信息。单击“Student.aspx(UrlEncode)链接”时,因使用了Server.UrlEncode()方法不再丢失“张”后面的信息。 源程序:Server.aspx 6.4 跨网页提交 要实现页面重定向,在ASP.NET 3.5网页中可以采用a元素、HyperLink控件、Response.Redirect()、Server.Execute()和Server.Transfer()方法。 利用Button类型控件方式实现跨网页提交,这种方式设置方便并具有安全的状态管理功能。 6.4 跨网页提交(续) 在实现跨网页提交时,需要将源网页上Button类型控件的属性PostBackUrl值设置为目标网页路径。而在目标页上,需要在页面头部添加PreviousPageType指令,设置属性VirtualPath值为源网页路径,如: %@ PreviousPageType VirtualPath=~/chap6/Cross1.aspx % 6.4 跨网页提交(续) 从目标网页访
原创力文档

文档评论(0)