AspNet-第五讲PPT课件_第1页
AspNet-第五讲PPT课件_第2页
AspNet-第五讲PPT课件_第3页
AspNet-第五讲PPT课件_第4页
AspNet-第五讲PPT课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、2021/7/241第五章第五章Response、Request对象2021/7/242HttpResponse 9-1q HttpResponse 对象允许开发人员对当前页面的输出流进行访问q 此类可用于:q从输出页面读取/写入文本q将用户重新定向到另一个页面q有条件地结束应用程序连接q设置/获取输出内容类型q检查客户端与服务器的连接状态q读取/写入 Cookie2021/7/243HttpResponse:常用属性 9-1属性名称说明Buffer 指定是否将 Web 窗体创建的输出存储在 IIS 缓存中,直到处理完当前页面中的所有服务器脚本ContentType 获得或指定响应的 HTTP

2、 内容 (MIME) 类型为标准 MIME 类型(如 text/xml 或 image/gif)。默认的 MIME 类型是 text/html。客户端浏览器从输出流中指定的 MIME 类型获得内容的类型Cookie用于获得 HttpResponse 对象的 Cookie 集合Expires 指定浏览器中缓存的页面过期之前的时间(以分钟为单位)Cache 获得网页的缓存策略(过期时间、保密性等)2021/7/244HttpResponse:常用属性 9-2属性名称说明Output 启用到输出 HTTP 响应流的文本输出OutputStream 启用到输出 HTTP 内容主体的二进制输出,并作为响

3、应的一部分ContentType 获得或指定响应的 HTTP 内容 (MIME) 类型为标准 MIME 类型(如 text/xml 或 image/gif)。默认的 MIME 类型是 text/html。客户端浏览器从输出流中指定的 MIME 类型获得内容的类型5HttpResponse:常用属性 9-3方法方法说明说明Write用于向当前 HTTP 响应流写入文本,使其成为返回页面的一部分Clear清除前面的输出内容(结合图片)End停止处理至客户端的输出,返回目前为止已创建的页面内容并触发 Application 对象的 EndRequest 事件 Application 对象将在第六阶段

4、讨论 Redirect将用户从请求页面重新定向或带到另一页面2021/7/246HttpResponse:常用属性 9-6控件控件属性属性值值LabelIDlblHdrLabelBackColor#E0E0E0LabelTextResponse 对象的属性及它们的值LabelIDlblResponseLabelBackColorLightBlue演示:示例 1HttpResponse 对象不同属性的用法q 打开 VS.NET IDE 并创建名为Example 1 的新项目q 将默认 Web 窗体 (.aspx) 文件从Webform1.aspx重命名为ResponseProperties.as

5、pxq 通过向 Web 窗体添加两个标签为 Web 窗体设计界面ResponseProperties.aspx 的 GUI 按照表中的内容设置 ResponseProperties.aspx 上控件的属性2021/7/247HttpResponse:常用属性 9-7将下列代码片段添加到页面的 Load 事件中private void Page_Load(object sender, System.EventArgs e)lblResponse.Text=lblResponse.Text + HttpResponse.Buffer= + HttpContext.Current.Response.

6、Buffer + , ;lblResponse.Text=lblResponse.Text + HttpResponse.Cache= + HttpContext.Current.Response.Cache + , ;lblResponse.Text=lblResponse.Text + HttpResponse.CacheControl= + HttpContext.Current.Response.CacheControl + , ;lblResponse.Text=lblResponse.Text + HttpResponse.Charset= + HttpContext.Curren

7、t.Response.Charset + , ;lblResponse.Text=lblResponse.Text + HttpResponse.ContentType= + HttpContext.Current.Response.ContentType + , ;lblResponse.Text=lblResponse.Text + HttpResponse.Expires= + HttpContext.Current.Response.Expires + , ;lblResponse.Text=lblResponse.Text + HttpResponse.ExpiresAbsolute

8、= + HttpContext.Current.Response.ExpiresAbsolute + , ;lblResponse.Text=lblResponse.Text + HttpResponse.IsClientConnected= + HttpContext.Current.Response.IsClientConnected + , ;lblResponse.Text=lblResponse.Text + HttpResponse.StatusCode= + HttpContext.Current.Response.StatusCode + , ;lblResponse.Text

9、=lblResponse.Text + HttpResponse.StatusDescription= + HttpContext.Current.Response.StatusDescription + , ;lblResponse.Text=lblResponse.Text + HttpResponse.SuppressContent= + HttpContext.Current.Response.SuppressContent + , ;编译并运行示例2021/7/248HttpResponse:演示:属性 9-8private void Page_Load(object sender,

10、 System.EventArgs e) lblResponse.Text=lblResponse.Text + HttpResponse. ContentType = + HttpContext.Current.Response.ContentType + , ; 显示 Response 对象的不同属性值2021/7/249HttpResponse:演示:方法 9-9private void btnRedirect_Click(object sender, System.EventArgs e)HttpContext.Current.Response.Redirect(this.txtURL

11、.Text.Trim();private void btnEnd_Click(object sender, System.EventArgs e) if(this.txtName_End.Text !=) HttpContext.Current.Response.Write(您好 “ +this.txtName_End.Text + , 欢迎学习HttpResponse! 这里采用Response.End()方法); Response.End(); private void btnSubmit_Click(object sender, System.EventArgs e)if(txtUser

12、Nm.Text !=) HttpContext.Current.Response.Write(您好 + txtUserNm.Text + , 欢迎学习HttpResponse!这里没有采用Response.End() 方法);10HttpRequest 5-1服务器服务器域名URL,资源的名称响应这是 HTTP 请求这是 HTTP 响应2021/7/2411HttpRequest 5-2 qHttpRequest 对象封装客户端请求页面或提交表单时提供的信息。这些信息包括:q识别用户和浏览器的 HTTP 变量q在客户端浏览器上为网站存储的 Cookieq作为查询字符串或网页 部分的 HTML

13、控件值添加到 URL 的值q如果是安全保护网站,有关网站安全的信息2021/7/2412HttpRequest 5-3属性名称属性名称说明说明Browser 获得有关请求浏览器能力的信息Form 获得网页中定义的窗体变量的集合QueryString获得以名/值对表示的 HTTP 查询字符串变量的集合Params 获得由以名/值对表示的 QueryString、Form、Cookie 和 ServerVariables 组成的集合 该表列出了 HttpRequest 对象的常用方法和属性2021/7/2413HttpRequest 5-4Url返回有关当前请求的 URL 信息方法名称方法名称说明

14、说明MapPath 将请求 URL 中提到的虚拟路径映射到服务器上资源的实际物理路径常用方法2021/7/2414HttpRequest 5-5private void Page_Load(object sender, System.EventArgs e)lblRequest.Text=lblRequest.Text + HttpRequest.Browser= + HttpContext.Current.Request.Browser + , ;lblRequest.Text=lblRequest.Text + HttpRequest.Url= + HttpContext.Current.

15、Request.Url + , ;lblRequest.Text=lblRequest.Text + HttpRequest.UserHostAddress= + HttpContext.Current.Request.UserHostAddress + , ;lblRequest.Text=lblRequest.Text + HttpRequest.UserHostName= + HttpContext.Current.Request.UserHostName + , ;编译并运行程序2021/7/2415HttpRequest 方法private void Page_Load(object

16、 sender, System.EventArgs e) HttpContext.Current.Response.Write(+ Server.HtmlEncode(MapPath(“RequestMethods.aspx”)+ 的输出结果是: ); HttpContext.Current.Response.Write( + HttpContext.Current.Request.MapPath (RequestMethods.aspx).ToString() + ); Response.Write( + Server.HtmlEncode(MapPath(“”)+ 的输出结果是: + +

17、HttpContext.Current.Request.MapPath()+ ); Response.Write( + Server.HtmlEncode (MapPath(“RequestMethods.aspx”)+ 的输出结果是: + + + HttpContext.Current.Request.MapPath (RequestMethods.aspx).ToString() + ); 2021/7/2416HttpRequest:Querystring 提交前 private void btnSubmit_Click(object sender, System.EventArgs e

18、) string strURL=; strURL=TargetPage.aspx?Nm= + Server.UrlEncode(txtName.Text) + &pwd=+ Server.UrlEncode(this.txtPwd.Text) ; HttpContext.Current.Response.Redirect(strURL); 17HttpRequest:Querystring 提交后 private void Page_Load(object sender, System.EventArgs e)string userNm=HttpContext.Current.Requ

19、est.QueryStringNm;HttpContext.Current.Response.Write(欢迎 );HttpContext.Current.Response.Write(userNm);Response.Write (你的密码是:+ Request.QueryStringpwd);2021/7/2418HttpServerUtility 对象 8-1Execute 方法和 Transfer 方法HTML 编码方法MapPath 方法URLEncode 方法方法HttpServerUtility 类包含处理 Web 请求的方法2021/7/2419HttpServerUtilit

20、y 对象 8-2ExecuteTransferURL 参数指定的页面处理完后,控制权会返回给先前的页面或调用此方法的页面,并且从此方法调用后的语句继续执行 URL 参数指定的页面处理完后,控制权不会返回给先前的页面,也不会返回给调用此方法的页面,并且在新页面完成执行时结束 注意:Server 对象的 Transfer 方法和 Execute 方法仅用于 Web 窗体将 Transfer 方法的 preserveForm 参数设置为 True,可将窗体的 QueryString、ViewState 等信息提供给目标窗体 Execute 方法和 Transfer 方法均会停止当前页面的执行,并将用

21、户带到由此方法的参数 URL 指定的页面2021/7/2420HttpServerUtility 对象 8-3演示:示例 6private void btnExec_Click(object sender, System.EventArgs e) HttpContext.Current.Server.Execute (ResponseProperties.aspx); lblForExecute.Text=客户端调用 Execute 方法之后!;private void btnTransfer_Click(object sender, System.EventArgs e) HttpConte

22、xt.Current.Server.Transfer (RequestProperties.aspx); lblForExecute.Text=“客户端调用 Transfer 方法之后!;输出结果2021/7/2421HttpServerUtility 对象 8-4HTMLEncode 方法:q 为了确保所有浏览器均能在 URL 字符串中正确地传送文本,需要使用 HTML 编码。HTMLEncode 方法正是起这个作用的q 例如,如果输入文本包含 “”字符,此方法会将这些字符转换为其对等的 HTML 字符,即分别为 &lt 和 &gt,以便浏览器将这些字符正确地显示为“”HTM

23、LEncode(String)要编码为 HTML 的文本用于将输出存储为 TextWriter 流 语法HTMLEncode(String,TextWriter)2021/7/2422HttpServerUtility 对象 8-5URLEncode 方法:q 在 HTML 编码中,将文本编码成相应的 HTML 是为了在浏览器中正确地显示 q 如果是要求可靠的 HTTP 传输通过 URL 将编码文本从 Web 服务器传送到客户端,该怎么办? q 可使用 URLEncode 方法实现此目的。它将文本编码以便于通过 HTTP 进行可靠的传输语法要编码为 HTML 传输的文本 用于将编码输出存储为

24、TextWriter 流URLEncode(String,TextWriter)URLEncode(String)2021/7/2423HttpServerUtility 对象 8-6MapPath 方法:q Web 应用程序位于 IIS 根目录下的虚拟目录中q 因此,我们请求网页时,引用称为“虚拟路径”的虚拟目录路径。但是经常需要得到 Web 服务器上的 Web 资源的实际物理路径q 用 MapPath 方法,我们可从其虚拟路径得到 Web 资源(如 .aspx 页面)的物理路径语法MapPath(string path)Web 服务器上的指定虚拟路径2021/7/2424HttpServerUtility 对象 8-7HTMLEncode的使用private void Page_Load(object sender, System.Event

温馨提示

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

评论

0/150

提交评论