《新内置对象》PPT课件.ppt
《《新内置对象》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《新内置对象》PPT课件.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 内置对象和状态管理内置对象和状态管理 理论部分理论部分回顾q文本类(文本类(Label、TextBox)q超链接控件(超链接控件(Hyperlink)q按钮类(按钮类(Button、LinkButton、ImageButton)q图片类(图片类(Image、ImageMap)q单选类(单选类(RadioButton、RadioButtonList)q复选类(复选类(CheckBox、CheckBoxList)q列表类(列表类(ListBox、DropDownList)q容器类容器类(Panel、Placeholder)q复杂控件(复杂控件(MultiView、View、FileU
2、pload、Wizard、Calendar、Adrotator、Tabel)q验证控件验证控件(RequiredFieldValidator、RangeValidator、RegularExpressionValidator、CompareVlaidator、CustomValidator、ValidationSummary)q用户自定义控件用户自定义控件2学习目标qPage对对象象qRequest 对对象象qResponse 对对象象qServer 对对象象qCookie对象对象qSession 对象对象qApplication 对象对象q 运用运用Global.asax 文件文件3B/S体
3、系结构与内置对象模型xx.aspxServerADO.netCookieSessionApplicationPageRequestResponse4Page对象学习目标q了解ASP.NET页的结构q掌握Page对象的各种事件和属性q理解代码隐藏的概念5ASP.NET页6脚本部分脚本部分脚本部分 服务器端脚本客户端脚本由服务器执行由浏览器执行C#VBJscript7客户端脚本q客户端脚本是页面的一部分客户端脚本是页面的一部分,当用户请求页面时,当用户请求页面时,就将这些脚本发送至浏览器就将这些脚本发送至浏览器q客户端脚本可以客户端脚本可以:q在将某个页面加载至浏览器中时,改变此页面在将某个页面加
4、载至浏览器中时,改变此页面的外观的外观q验证用户在窗体中输入的数据,验证用户在窗体中输入的数据,将通过验证的将通过验证的数据发送至服务器数据发送至服务器 q当触发按钮的点击事件时,在浏览器中显示相当触发按钮的点击事件时,在浏览器中显示相关信息关信息8服务器端脚本q服务器脚本也是页面的一部分,但它不发送至浏览器,服务器脚本也是页面的一部分,但它不发送至浏览器,而是在请求页面之后和在回送至浏览器之前由服务器处而是在请求页面之后和在回送至浏览器之前由服务器处理这些脚本理这些脚本q代代码码可包含在服可包含在服务务器端的器端的 代代码码声明声明块块中,服中,服务务器端代器端代码码声明声明块块必必须须具有
5、具有 runat=“server”属性。属性。q服服务务器端脚本可包含在器端脚本可包含在 显显示示块块中。中。q服务器端脚本可以放在对应的服务器端脚本可以放在对应的.aspx.cs文件中。文件中。9事件处理程序qASP.NET页框架在不同的阶段处理Web窗体页时都可能引发事件,并执行响应事件的事件处理程序q事件处理程序实际上就是一个子程序,执行任何给定事件的相关代码qASP.NET页面因其事件机制而显得格外新颖独特10Web窗体页的生命周期初始化页面阶段阶段引发的事件引发的事件Page_Init加载页面验证事件处理页面卸载Page_LoadValidateFormeventhandlerPag
6、e_Unload在页面处理的某些特定阶段,页面会自动触发一些事件。而与服务器控件相关联的其他事件则在服务器端触发并得到处理11Page对象是什么?Page类用于表示一个.aspx文件,也称为Web窗体页每个页面都派生自Page类,并继承这个类公开的所有方法和属性Page类的成员位于命名空间中12Page_Load事件q在加载页面时会触发Page_Load事件qASP.NET 将自动调用 Page_Load 子程序,并执行其中的代码privatevoidPage_Load(objectsender,System.EventArgse)Label1.Text=DateTime.Now.ToStri
7、ng();从此处调用Page_Load事件只要加载页面,就会执行Page_Load事件内的代码13Page.IsPostBack属性2-1q利用利用Page对象的对象的IsPostBack属性,可以检查属性,可以检查.aspx页是否为传递回服务器的页面页是否为传递回服务器的页面 q只有在首次加载页面时只有在首次加载页面时,Page.IsPostBack 属性属性才用于页面的才用于页面的 Load 事件中以执行代码事件中以执行代码 q如果如果 Page.IsPostBack 属性值为属性值为False,则此页面,则此页面为首次加载为首次加载用户界面14Page.IsPostBack属性2-2pr
8、ivatevoidPage_Load(objectsender,System.EventArgse)if(!Page.IsPostBack)lblTime.Text=();privatevoidbtnSubmit_Click(objectsender,System.EventArgse)lblMessage.Text=请确定您填写的信息:+txtName.Text+txtAge.Text+txtHabbit.Text;Page_Load事件如果页面为首次加载,则Page.IsPostBack属性的值是False,并显示日期和时间单击“提交”按钮后,日期和时间都将保持不变15Page对象属性和事
9、件q属性q事件属属 性性说说 明明IsPostBack获获取一个取一个值值,该值该值指示指示该页该页是否正在是否正在为为响响应应客客户户端端回回发发而加而加载载,或者它是否正在被首次加,或者它是否正在被首次加载载和和访问访问IsValid获获取一个取一个值值,该值该值指示指示页验证页验证是否成功是否成功Validators获获取取请请求的求的页页上包含的全部上包含的全部验证验证控件的集合控件的集合事事 件件说说 明明Init 在服务器控件初始化时发生,初始化是控件生存期在服务器控件初始化时发生,初始化是控件生存期的第一步的第一步 DataBinding 在服务器控件绑定到数据源时发生在服务器控
10、件绑定到数据源时发生 Load在服务器控件加载到在服务器控件加载到 Page 对象中时发生对象中时发生Unload在服务器控件从内存中卸载时发生在服务器控件从内存中卸载时发生Disposed在从内存释放服务器控件时发生在从内存释放服务器控件时发生16代码隐藏3-1.aspx文件显示内容HTML,服务器控件静态文本等.aspx.cs文件应用程序逻辑这就是代码隐藏分离17代码隐藏3-2Presentation.aspx表示文件.(Presentation.aspx)代码隐藏文件在代码隐藏文件中定义的事件代码隐藏文件略为复杂。它含有一个未编译的VisualC#类文件18代码隐藏3-3代码隐藏文件(m
11、yCodebehind.cs)usingSystem;usingSystem.Web.UI;using;using;publicclassmyCodeBehind:protectedlblMessage;PrivateButton_Click(Objectsender,EventArgse)lblMessage.Text=“您好!继承自Page类从表示文件调用Buttonclick事件单击按钮后执行的功能19代码隐藏的工作原理q代码隐藏的原则是为代码创建一个类,并从代码隐藏的原则是为代码创建一个类,并从ASP.NET Page对象中继承该类对象中继承该类q用于表示内容的页面用于表示内容的页面
12、Presentation.aspx 就继承就继承自此代码隐藏文件。表示页继承了代码隐藏文件自此代码隐藏文件。表示页继承了代码隐藏文件的所有属性、方法和事件的所有属性、方法和事件。q因为存在继承的这种层次结构,所以代码隐藏文因为存在继承的这种层次结构,所以代码隐藏文件中含有件中含有 Page 类的所有属性、方法和事件,而类的所有属性、方法和事件,而所有这些属性、方法和事件也都存在于表示文件,所有这些属性、方法和事件也都存在于表示文件,即页面文件。即页面文件。q代码隐藏文件无需编译,因为只要请求表示页,代码隐藏文件无需编译,因为只要请求表示页,就会自动编译包含在代码隐藏文件中的类文件。就会自动编译
13、包含在代码隐藏文件中的类文件。20Page对象小结qASP.NET 页文件是含有将在页文件是含有将在 Web 服务器上执行代码的文服务器上执行代码的文件。其扩展名是件。其扩展名是.aspx 或或.ascxqASP.NET页面中使用两种类型的脚本:页面中使用两种类型的脚本:q服务器端脚本服务器端脚本q客户端脚本客户端脚本q事件处理程序实际上就是一个子程序,执行任何给定事件事件处理程序实际上就是一个子程序,执行任何给定事件的相关代码的相关代码q在页面加载时引发在页面加载时引发 Page_Load 事件事件qPage.IsPostback 属性用于检查页面是否为首次加载属性用于检查页面是否为首次加载
14、qASP.NET代码隐藏文件使开发人员可以在代码隐藏文件使开发人员可以在 C#或或 Visual Basic.NET 类中编写控制它们的页的逻辑,这样可与类中编写控制它们的页的逻辑,这样可与 HTML代码清楚地分离开来代码清楚地分离开来21回顾q内置对象q内置对象的组成和相互关系qPage类是什么?内置对象不需要编程者手动创建?内置对象不需要编程者手动创建?内置对象用来实现内置对象用来实现B/S交互?交互?内置对象用来进行状态管理?内置对象用来进行状态管理?Page对象与对象与.aspx文件相关联文件相关联IsPostBack属性做什么用处?属性做什么用处?Page_Load事件在整个事件在整
15、个Page对象对象的生命周期中执行多少次?的生命周期中执行多少次?问题:问题:客户端对于服务器的请求可能是什么样的?服务器客户端对于服务器的请求可能是什么样的?服务器应该如何去响应?服务器都做什么了?应该如何去响应?服务器都做什么了?22学习目标qRequest:获取客户端请求信息qResponse:对客户端进行响应qServer:提供访问服务器资源、进行服务器端处理的途径。23Request与Response服务器服务器域名URL,资源的名称响应这是HTTP请求这是HTTP响应24Request对象学习目标uRequest对象是对象是类。类。Request对象对象获取客户端、服务获取客户端、
16、服务器端环境变量器端环境变量访问表单数据访问表单数据通过通过URL发送发送的查询字符串的查询字符串接收来自客户端接收来自客户端的的Cookie信息信息25Request属性的用法26页面提交数据的方法教师演示教师演示27页面提交表单的方法教师演示教师演示28不同提交方法的比较29ServerVariable属性Request.ServerVariables“环境变量环境变量”30ServerVariables的环境变量名列表环环境境变变量名量名说说明明CONTENT_LENGTH发发送到客送到客户户端的文件端的文件长长度。度。CONTENT_TYPE发发送到客送到客户户端的文件端的文件类类型。
17、型。LOCAL_ADDR服服务务器端的器端的IP地址。地址。REMOTE_ADDR客客户户端端IP地址。地址。REMOTE_HOST客客户户端端计计算机名。算机名。SERVER_NAME服服务务器端器端计计算机名。算机名。SERVER_PORT服服务务器端网站的端口号。器端网站的端口号。31浏览器特性名对应表名称名称说说明明Browser浏览浏览器器类类型。型。Version浏览浏览器版本号。器版本号。MajorVersion浏览浏览器主版本号。器主版本号。MinorVersion浏览浏览器次版本号。器次版本号。Frames逻辑值逻辑值,true表示支持框架功能。表示支持框架功能。Cookie
18、s逻辑值逻辑值,true表示支持表示支持Cookie。JavaScript逻辑值逻辑值,true表示支持表示支持JavaScript。ActiveXControls逻辑值逻辑值,true表示支持表示支持ActiveXControl控件。控件。32程序演示q演示RqServerVariables.aspx33Reponse对象学习目标q 对象封装服务器端对客户端请求页面的响应。对象封装服务器端对客户端请求页面的响应。q向客户端输出内容向客户端输出内容q从客户端浏览器创建或获取从客户端浏览器创建或获取 Cookie信息信息q将页面进行重定向将页面进行重定向q对输出内容进行缓存对输出内容进行缓存q对
19、缓冲区内容的操纵对缓冲区内容的操纵Response.Redirect()Response.BufferResponse.Write()Response.CookiesResponse.Clear()Response.Flush()34HttpResponse:常用属性属性名称说明Buffer 指指定定是是否否将将 Web 窗窗体体创创建建的的输输出出存存储储在在 IIS 缓缓存存中中,直到直到处处理完当前理完当前页页面中的所有服面中的所有服务务器脚本器脚本Cache 获得网页的缓存策略(过期时间、保密性设置、变获得网页的缓存策略(过期时间、保密性设置、变化条款等)化条款等)ContentTyp
20、e 在在向向网网页页中中输输出出文文件件的的时时候候比比较较常常用用,主主要要是是指指定定要要发发送送的的文文件件的的文文件件格格式式(类类型型)。(如如 text/xml 或或 image/gif)。默默认认的的 MIME 类类型型是是 text/html。客客户户端端浏浏览览器器从从输输出出流流中中指指定定的的 MIME 类类型型获获得得内内容的容的类类型型CookieHttpResponse 对象用于在客户端创建和写入对象用于在客户端创建和写入Cookie 集合集合Expires 指定指定浏览浏览器中器中缓缓存的存的页页面面过过期之前的期之前的时间时间(以分(以分钟钟为单为单位)如果用位
21、)如果用户户在在页页面面过过期之前返回到期之前返回到该页该页,则则显显示示缓缓存的版本。存的版本。35HttpResponse:常用方法方法方法说说明明Write用于向当前用于向当前 HTTP 响响应应流写入文本,使其成流写入文本,使其成为为返回返回页页面的一部分面的一部分End停止停止处处理至客理至客户户端的端的输输出,返回目前出,返回目前为为止已止已创创建的建的页页面内容。面内容。Redirect将用将用户户从从请请求求页页面重新定向或面重新定向或带带到另一到另一页页面面36程序演示Response.Write1.向页面输出文本,这个方法是使用频率特别高的向页面输出文本,这个方法是使用频率
22、特别高的语句,刚刚大家也看到无数次了。语句,刚刚大家也看到无数次了。Response.Write方法可以向页面输出任意形式的字方法可以向页面输出任意形式的字符串:变量、符串:变量、HTML代码、脚本语言等都可以代码、脚本语言等都可以演示:演示:Response99.aspxResponseWrite.aspxResponseWriteFile.aspx37程序演示页面跳转2.页面重定向,用于页面跳转,不过比较浪费服务页面重定向,用于页面跳转,不过比较浪费服务器的器的CPU时间,尽量少用。时间,尽量少用。演示:演示:Redirect.aspx Teacher.aspx Student.aspx3
23、8程序演示Response.End()方法3.有条件结束应用程序,使用有条件结束应用程序,使用Response.End方法,方法,可以根据条件结束后面所有内容的输出。可以根据条件结束后面所有内容的输出。Buffer.aspx39程序演示缓冲区操作4.对缓冲区进行设置和操作。对缓冲区进行设置和操作。需要演示的程序有:需要演示的程序有:Buffer.aspx40HttpServerUtility对象Execute方法和Transfer方法HTML编码方法MapPath方法URLEncode方法方法方法HttpServerUtility类包含处理Web请求的方法41HttpServerUtility
24、对象ExecuteTransferURL 参数指定的页面处理完后,控参数指定的页面处理完后,控制权会返回给先前的页面或调用此制权会返回给先前的页面或调用此方法的页面,并且从此方法调用后方法的页面,并且从此方法调用后的语句继续执行的语句继续执行 URL 参参数数指指定定的的页页面面处处理理完完后后,控控制制权权不不会会返返回回给给先先前前的的页页面面,也也不不会会返返回回给给调调用用此此方方法法的的页页面面,并并且且在新页面完成执行时结束在新页面完成执行时结束 演示:ExcuteTransfer.aspxExecute方法和Transfer方法均会停止当前页面的执行,并将用户带到由此方法的参数U
25、RL指定的页面42方法区别qRedirect()方法尽管在服务器端执行,但重定向方法尽管在服务器端执行,但重定向实际发生在客户端,可从浏览器地址栏中看到地实际发生在客户端,可从浏览器地址栏中看到地址变化;而址变化;而Execute()和和Transfer()方法的重定向方法的重定向实际发生在服务器端,在浏览器的地址栏中看不实际发生在服务器端,在浏览器的地址栏中看不到地址变化。到地址变化。qRedirect()和和Transfer()方法执行完新网页后,并方法执行完新网页后,并不返回原网页;而不返回原网页;而Execute()方法执行完新网页后方法执行完新网页后会返回原网页继续执行。会返回原网页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新内置对象 内置 对象 PPT 课件
限制150内