静态网页设计教程(2系统对象与状态管理).ppt

上传人:max****ui 文档编号:12555519 上传时间:2020-05-11 格式:PPT 页数:32 大小:576.50KB
返回 下载 相关 举报
静态网页设计教程(2系统对象与状态管理).ppt_第1页
第1页 / 共32页
静态网页设计教程(2系统对象与状态管理).ppt_第2页
第2页 / 共32页
静态网页设计教程(2系统对象与状态管理).ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
静态网页设计教程学习情境二,系统对象与状态管理,回顾,什么是代码后置?JSP中状态保持有哪几种方式?JSP中Session的写法,预习检查,Session有什么用处?.aspx页面继承自哪个类?,本章任务,实现用户登录功能实现对用户浏览器的判断实现页面数据的传递,本章目标,掌握页面间的数据传递技术能用Session对象记录用户登录状态等信息能使用Server对象查看客户端浏览器类型会使用Response对象和Request对象控制页面的输入输出,运行机制,回顾JSP的运行机制客户端请求后台处理(类Servlet)返回客户端(HTML)ASP.NET的运行机制是什么呢?,ASP.NET运行机制,.aspx文件,解析,后台编码类,生成,第二个请求实例化,ASP.NET引擎,页面类,实例化,处理和显示,现象:第一次获取网页较慢,第二次获取较快,系统对象,JSP和ASP.NET中的常见系统对象对比。,注意:JSP和ASP.NET中对象的大小写不同,Page对象,每个.aspx文件对应一个Page对象.aspx与后台代码类(局部类)合并生成页面类Page对象是页面类的实例所有的.aspx文件(Web窗体页)都继承自System.Web.UI.Page类,演示:新建页面,查看源视图,Page指令,指明页面代码和后置代码所使用的脚本语言,设置是否自动调用网页事件,默认为true,指定代码后置文件,该文件包含此页面的局部类,代码后置的类,局部类,Page指令定义了ASP.NET页用于编译和解析的属性。每个aspx页面只能有一个Page指令,页面输入输出控制,Request对象获得页面输入URL传参Form表单提交Response对象在页面输出要显示的内容重定向,Request对象,结合JSP,列举页面间传递数据的几种方式?如何获取传递过来的数据呢?,Request对象,ServerVariables属性,Form属性,Params属性,QueryString属性,获取通过URL路径传来的数据,获取通过表单提交传输的数据,获取Web服务器变量的集合,以上三种方式传输的内容都可以使用该属性获取,Response对象,Response对象允许开发人员对当前页面的输出流进行操作,Response.对象,Redirect方法,Write方法,Response.Write(Hello,ACCP);,直接在页面上输出内容,重定向到另外一个页面,Response.Redirect();,综合示例,获取并打印浏览器的信息输出浏览器类型(IE/FireFox)输出相关版本信息输出客户端语言信息,Request.ServerVariablesHTTP_USER_AGENT;/获取浏览器及版本Request.ServerVariablesHTTP_ACCEPT_LANGUAGE;/获取浏览器语言,演示示例5:获取并打印浏览器信息,数据传递,JSP页面中,如何获取用户输入的信息?分两个页面进行处理,用户输入页面是一页,处理用户输入的又是另一个页面。提交给同一页面,通过特殊参数判断是回传的数据通过Get、Post方式或者URL传递需要发送服务器的数据,页内数据传递,回发,ASP.NETWeb页面,控件1,控件1,用户页面操作,Page.IsPostBack属性,回传,首次加载,true,false,如何判断回发和首次加载?,演示示例1:查询演示,关键代码:验证回传,IsPostBack常放置于Page_Load方法中用于首次加载页面时的初始化,protectedvoidPage_Load(objectsender,EventArgse)if(Page.IsPostBack).,跨页数据传递,ASP.NETWeb页面1,ASP.NETWeb页面2,控件1,控件2,跨页传递,如何知道跨页发送并获取传过来的数据?,跨页数据传递,IsCrossPagePostBack,指示跨页回发是否包含该页PreviousPage,获取向当前页面传输数据的页面,PreviousPage属性,页面2,FindControl方法,找到页面1的对象,根据控件名,获得控件对象,演示示例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的类与对应的代码后置的类是什么关系?ASP.NET中,页内数据传递使用哪个属性判断回传或者首次加载?,状态管理,JSP中状态保持有哪几种方式?session、cookie等ASP.NET中状态保持,ASP.NET状态保持,Session,Cookie,Application,存储于服务器,存储于客户端,应用程序级别的状态保持,Session,Session用于什么场合?结合JSP中学过的知识,我们知道Session保持当前用户状态信息常用于用户登录、购物车等,Session示例,第三波网上书店用户登录。用户输入用户名和密码检测用户名和密码是否输入合法登录成功时,在Session中保存用户对象。,演示示例3:第三波网上书店的登录,关键代码,登录代码索引器使用索引器,可以像数组一样处理Session对象,Useruser=newUser();user.Id=0;user.UserName=txtloginId.Text;user.PassWord=txtLoginPwd.Text;SessionUser=user;,Session的名称,要存储的对象,JSP中session.setAttribute(username,username),Cookie演示,Cookie方式记录用户最后登录时间当用户登录时,记录用户的登录时间用户下次登录时,显示用户上次登录时间,演示示例4:增加Cookie的书店登录,关键代码,写入Cookie代码读取Cookie代码,HttpCookiehcCookie=newHttpCookie(UserName,“张三);Response.Cookies.Add(hcCookie);,stringUserName=Request.CookiesUserName.Value;,添加新的Cookie,Application对象,Application对象可以存储应用程序级的数据。“Application”:应用程序第一个用户访问站点时,应用程序启动,并创建一个Application对象。创建成功后,整个应用程序中都可以使用该对象。除非应用程序关闭,否则对象一直存储在内存中。,Application对象对应HttpApplication类,它定义ASP.NET应用程序中的所有应用程序对象通用的方法、属性和事件。,小结,请分别书写Session方式和Cookie方式保存用户登录状态的代码。保存当前用户登录时间保存登录用户名编写读取Cookie中内容的代码,Server对象,Server对象是HttpServerUtility的一个实例,它提供对服务器上的方法和属性的访问。,Server对象,HtmlEncode方法和HtmlDecode方法,Execute方法和Transfer方法,UrlEncode方法和UrlDecode方法,MapPath方法,取得文件的物理路径,执行另一个页面的脚本,将文本编码成可以在浏览器中可正确浏览的格式,URL编码和解码,类似与JSP中的URLEncoder.encode,综合示例,修改欢迎页当用户未登录时转到登录页面登录成功后转回欢迎页在欢迎页面显示用户的信息根据用户浏览器的语言,给予不同语言的欢迎辞(如:中文用“您好,!”,其他用“HELLO,.!”。),演示示例6:新的欢迎页面,总结,如果要显示在线人数,想想怎么做?提示:在每次用户请求时记录人数,保存在什么位置比较合适?简述ASP.NET中状态保持的三种方式,并说明适用范围?,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!