静态网页设计教程(2系统对象与状态管理).ppt_第1页
静态网页设计教程(2系统对象与状态管理).ppt_第2页
静态网页设计教程(2系统对象与状态管理).ppt_第3页
静态网页设计教程(2系统对象与状态管理).ppt_第4页
静态网页设计教程(2系统对象与状态管理).ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、静态网页设计教程学习情境二,系统对象与状态管理,回顾,什么是代码后置? JSP中状态保持有哪几种方式? JSP中Session的写法,预习检查,Session有什么用处? .aspx页面继承自哪个类?,本章任务,实现用户登录功能 实现对用户浏览器的判断 实现页面数据的传递,本章目标,掌握页面间的数据传递技术 能用Session对象记录用户登录状态等信息 能使用Server对象查看客户端浏览器类型 会使用Response 对象和Request对象控制页面的输入输出,运行机制,回顾JSP的运行机制 客户端请求 后台处理(类Servlet) 返回客户端(HTML) ASP.NET的运行机制是什么呢?

2、,ASP.NET运行机制,.aspx 文件,解析,后台编码类,生成,第二个请求 实例化,ASP.NET 引擎,页面类,实例化,处理和显示,现象:第一次获取网页较慢,第二次获取较快,系统对象,JSP和ASP.NET中的常见系统对象对比。,注意:JSP和ASP.NET中对象的大小写不同,Page对象,每个.aspx文件对应一个Page对象 .aspx与后台代码类(局部类)合并生成页面类 Page对象是页面类的实例 所有的.aspx文件(Web窗体页)都继承自System.Web.UI.Page类,演示:新建页面,查看源视图,Page指令,指明页面代码和后置代码所使用的脚本语言,设置是否自动调用网页

3、事件 ,默认为true,指定代码后置文件,该文件包含此页面的局部类,代码后置的类,局部类, Page指令定义了 ASP.NET 页用于编译和解析的属性。 每个aspx页面只能有一个Page指令,页面输入输出控制,Request对象 获得页面输入 URL传参 Form表单提交 Response 对象 在页面输出要显示的内容 重定向,Request对象,结合JSP,列举页面间传递数据的几种方式? 如何获取传递过来的数据呢?,Request对象,ServerVariables 属性,Form 属性,Params 属性,QueryString属性,获取通过URL路径传来的数据,获取通过表单提交传输的数

4、据,获取Web服务器变量的集合,以上三种方式传输的内容都可以使用该属性获取,Response 对象,Response 对象允许开发人员对当前页面的输出流进行操作,Response.对象,Redirect方法,Write方法,Response.Write(Hello,ACCP);,直接在页面上输出内容,重定向到另外一个页面,Response.Redirect();,综合示例,获取并打印浏览器的信息 输出浏览器类型(IE/FireFox) 输出相关版本信息 输出客户端语言信息,Request.ServerVariablesHTTP_USER_AGENT; /获取浏览器及版本 Request.Ser

5、verVariablesHTTP_ACCEPT_LANGUAGE; /获取浏览器语言,演示示例5:获取并打印浏览器信息,数据传递,JSP页面中,如何获取用户输入的信息? 分两个页面进行处理,用户输入页面是一页,处理用户输入的又是另一个页面。 提交给同一页面,通过特殊参数判断是回传的数据 通过Get、Post方式或者URL传递需要发送服务器的数据,页内数据传递,回发,ASP.NET Web页面,控件1,控件1,用户页面 操作,Page.IsPostBack属性,回传,首次加载,true,false,如何判断回发和首次加载?,演示示例1:查询演示,关键代码:验证回传,IsPostBack常放置于P

6、age_Load方法中 用于首次加载页面时的初始化,protected void Page_Load(object sender, EventArgs e) if (Page.IsPostBack) . . ,跨页数据传递,ASP.NET Web页面1,ASP.NET Web页面2,控件1,控件2 ,跨 页 传 递,如何知道跨页发送 并获取传过来的数据?,跨页数据传递,IsCrossPagePostBack,指示跨页回发是否包含该页 PreviousPage,获取向当前页面传输数据的页面,PreviousPage 属性,页面2,FindControl 方法,找到页面1的对象,根据控件名,获得控

7、件对象,演示示例2:跨页数据传递,关键代码,发出提交的页面 获取内容的页面,if (Page.PreviousPage!=null) if(PreviousPage.IsCrossPagePostBack = true) this.lblShowURL.Text = 您的查询条件为: + (TextBox)this.PreviousPage.FindControl(txtKeyWord).Text; ,通过PostBackUrl指定获取页,获取控件值,判断该页面的是否为其他页回传,小结,绘图描述ASP.NET中页面的编译过程。 .aspx文件都继承自哪个类? ASP.NET2.0中,.aspx

8、的类与对应的代码后置的类是什么关系? ASP.NET中,页内数据传递使用哪个属性判断回传或者首次加载?,状态管理,JSP中状态保持有哪几种方式? session、cookie等 ASP.NET中状态保持,ASP.NET 状态保持,Session,Cookie,Application,存储于服务器,存储于客户端,应用程序级别的状态保持,Session,Session用于什么场合? 结合JSP中学过的知识,我们知道 Session保持当前用户状态信息 常用于用户登录、购物车等,Session示例,第三波网上书店用户登录。 用户输入用户名和密码 检测用户名和密码是否输入合法 登录成功时,在Sessi

9、on中保存用户对象。,演示示例3:第三波网上书店的登录,关键代码,登录代码 索引器 使用索引器 ,可以像数组一样处理Session对象,User user = new User(); user.Id = 0; user.UserName = txtloginId.Text; user.PassWord = txtLoginPwd.Text; SessionUser = user;,Session的名称,要存储的对象,JSP中session.setAttribute(username,username),Cookie演示,Cookie方式记录用户最后登录时间 当用户登录时,记录用户的登录时间 用

10、户下次登录时,显示用户上次登录时间,演示示例4:增加Cookie的书店登录,关键代码,写入Cookie代码 读取Cookie代码,HttpCookie hcCookie = new HttpCookie(UserName, “张三); Response.Cookies.Add(hcCookie);,string UserName=Request.CookiesUserName.Value;,添加新的Cookie,Application对象,Application对象可以存储应用程序级的数据。 “Application”:应用程序 第一个用户访问站点时,应用程序启动,并创建一个Applicati

11、on对象。 创建成功后,整个应用程序中都可以使用该对象。 除非应用程序关闭,否则对象一直存储在内存中。,Application对象对应HttpApplication类,它定义 ASP.NET 应用程序中的所有应用程序对象通用的方法、属性和事件。,小结,请分别书写Session方式和Cookie方式保存用户登录状态的代码。 保存当前用户登录时间 保存登录用户名 编写读取Cookie中内容的代码,Server 对象,Server对象是HttpServerUtility的一个实例,它提供对服务器上的方法和属性的访问。,Server对象,HtmlEncode方法和 HtmlDecode方法,Execute 方法和 Transfer 方法,UrlEncode方法和 UrlDecode方法,MapPath方法,取得文件的物理路径,执行另一个页面的脚本,将文本编码成可以在浏览器中可正确浏览的格式,URL编码和解码,类似与JSP中的URLEncoder.encode,综合示例,修改欢迎页

温馨提示

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

评论

0/150

提交评论