Page对象与结构分析.ppt_第1页
Page对象与结构分析.ppt_第2页
Page对象与结构分析.ppt_第3页
Page对象与结构分析.ppt_第4页
Page对象与结构分析.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第二章,Page对象,2,回顾,ASP.NET是创建动态Web页的一种强大的服务器端新技术,利用这项技术,可以为WorldWideWeb站点或为企业内部互联网创建动态的可进行交互的HTML页面IIS(InternetInformationServices,Internet信息服务)是基于Windows服务器的服务,可帮助在任何Intranet或Internet上发布信息虚拟目录是在URL中使用的逻辑目录名,与服务器上的物理目录相对应Web窗体是一项ASP.NET功能,可以使用它为Web应用程序创建用户界面服务器控件有两种类型:HTML服务器控件和Web服务器控件Web窗体将Web应用程序分为两部分:可视化组件和该页的编程逻辑VisualStudio.NET环境包括多种工具、工具栏和菜单,可极大地帮助开发人员更为灵活地执行各种开发任务,是开发ASP.NET应用程序的IDE环境,3,目标,了解ASP.NET页的结构掌握Page对象的各种事件和属性理解_ViewState对象理解代码隐藏的概念,4,ASP.NET页的结构,ASP.NET页文件的扩展名为.aspx或.ascx,可在任何浏览器中向用户显示信息,因为它们可与任何浏览器或移动设备都兼容,与.NET公共语言运行库支持的任何语言都兼容,使用大量控件快速创建丰富的用户界面,使用客户端代码实现应用程序逻辑,VisualStudio提供了强大的快速应用程序开发工具,用于设计用户窗体并对其进行编程,5,ASP.NET页,6,页面指令,7,Page指令,Page指令定义了ASP.NET页解析器和编译器使用的特定于页面的属性它用于在处理和编译某页面时配置与此页面相关的属性每个ASPX页只能有一个Page指令Page指令的语法如下:,8,Page指令的属性2-1,指定在编译时和页面的代码声明块中使用的语言,指示能否自动处理页面的事件,指示是否启用了跟踪,指定编译的文件名称,此文件含有与此页面关联的类,指定由页面继承的代码隐藏类,将响应的HTTP内容类型作为一个标准的MIME类型,9,Page指令的属性2-2,属性,Page指令的其他属性包括,10,Control指令2-1,用于定义ASP.NET页解析器和编译器所使用的用户控件(.ascx文件)的属性一个.ascx文件中只可包含一个Control指令Control指令的语法如下:,11,Control指令2-2,Control指令的属性:EnableViewState属性用于启用/禁用跨HTTP请求的视图状态其他属性(如Language、AutoEventWireup、InheritsEnableViewState、ClassName、Debug、Description和CompilerOptions等)与Page指令的属性相似Control指令的示例:,12,Import指令,Import指令用于在页面中导入一个名称空间,此名称空间既可是MS.NetFramework中已定义的名称空间,也可是自定义的名称空间导入名称空间允许使用所有包含在该名称空间中的类和接口Import指令只有一个属性namespace,它指定要导入的命名空间,如下所示:,13,Implements指令,Implements指令可用于在ASP.NET页中实现.NetFramework接口在Web窗体页中实现接口时,必须实现该接口中声明的所有成员,可在代码声明块的元素和之间声明其属性、事件和方法每一个.aspx页只可有一个Implements指令Implements指令的语法如下:,14,Register指令,Register指令用于注册页面中的用户控件和自定义服务器控件以便可使用它们当创建一个自定义控件或用户控件时,可以通过将属性添加到页面的标签中把它们传送给控件Register指令的语法如下所示:,15,Assembly指令,Assembly指令用于直接引用一个程序集,以便于它所包含的类和接口能够适用于页面中的代码Assembly指令的语法如下:,16,OutputCache指令,OutputCache指令用来对页面在服务器上如何进行高速缓存进行控制OutputCache指令的属性:,17,Reference指令,Reference指令用来识别当前页面在运行时应动态编译和链接的页面或控件,允许在运行时间将用户控件动态添加到页面中Reference指令的语法如下:,18,脚本部分,脚本部分,服务器端脚本,客户端脚本,由服务器执行,由浏览器执行,C#,VB,Jscript,19,客户端脚本,客户端脚本是页面的一部分,当用户请求页面时,就将这些脚本发送至浏览器客户端脚本可以:在将某个页面加载至浏览器中时,改变此页面的外观验证用户在窗体中输入的数据,将通过验证的数据发送至服务器当触发按钮的点击事件时,在浏览器中显示相关信息,20,服务器端脚本,服务器脚本也是页面的一部分,但它不发送至浏览器,而是在请求页面之后和在回送至浏览器之前由服务器处理这些脚本代码可包含在服务器端的代码声明块中,也可包含在显示块中ASP.NET支持用任何语言编写的用于运行时的服务器端代码服务器端代码声明块必须具有runat=server属性,21,用户界面,设计窗口,控件,放置在设计窗口中的控件,浏览器窗口中的用户界面,22,事件处理程序,ASP.NET页框架在不同的阶段处理Web窗体页时都可能引发事件,并执行响应事件的事件处理程序事件处理程序实际上就是一个子程序,执行任何给定事件的相关代码ASP.NET页面因其事件机制而显得格外新颖独特,23,Web窗体页的生命周期,初始化页面,阶段,引发的事件,Page_Init,加载页面,验证,事件处理,页面卸载,Page_Load,Validate,Formeventhandler,Page_Unload,页面显示之前,Page_PreRender,在页面处理的某些特定阶段,页面会自动触发一些事件。而与服务器控件相关联的其他事件则在服务器端触发并得到处理,24,Page对象的事件,Page类用于表示一个.aspx文件,也称为Web窗体页,每个页面都派生自Page类,并继承这个类公开的所有方法和属性,Page类的成员位于System.Web.UI命名空间中,25,Page_Load事件,在加载页面时会触发Page_Load事件ASP.NET将自动调用Page_Load子程序,并执行其中的代码,privatevoidPage_Load(objectsender,System.EventArgse)lblDate.Text=Convert.ToString(date1.DayOfWeek);,从此处调用Page_Load事件,只要加载页面,就会执行Page_Load事件内的代码,26,Page.IsPostBack属性2-1,利用Page对象的IsPostBack属性,可以检查.aspx页是否为传递回服务器的页面只有在首次加载页面时,Page.IsPostBack属性才用于页面的Load事件中以执行代码如果Page.IsPostBack属性值为False,则此页面为首次加载,用户界面,27,Page.IsPostBack属性2-2,privatevoidPage_Load(objectsender,System.EventArgse)if(!Page.IsPostBack)lblTime.Text=System.DateTime.Now.ToString();privatevoidbtnSubmit_Click(objectsender,System.EventArgse)lblMessage.Text=请确定您填写的信息:+txtName.Text+txtAge.Text+txtHabbit.Text;,Page_Load事件,如果页面为首次加载,则Page.IsPostBack属性的值是False,并显示日期和时间,单击“提交”按钮后,日期和时间都将保持不变,28,当在ASP.NET中提交窗体时,此窗体及其所有值都将重新出现在浏览器窗口中,这是由于ASP.NET维护了窗体的状态信息,VIEWSTATE3-1,当在ASP.NET中提交窗体时,此窗体及其所有值都将重新出现在浏览器窗口中,ASP.NET维护了窗体的视图状态,ViewState保存了向服务器提交窗体时页面的浏览器窗口的状态信息,单击“提交”按钮,保留窗体值,29,VIEWSTATE3-2,ViewState是一个隐藏的控件即使与客户端经过多次往返周期以后,MicrosoftASP.NETWeb窗体页仍可维护其自身状态为某一个控件设置属性时,ASP.NET将属性值作为控件状态的一部分来保存_ViewState是页面的属性,30,VIEWSTATE3-3,在Web窗体页中,服务器将视图状态作为窗体中的隐式变量,作为每个响应的一部分发送至客户端,单击“源文件”以查看隐式窗体字段,名为_VIEWSTATE的隐式窗体字段,31,代码隐藏3-1,.aspx文件显示内容HTML,服务器控件静态文本等,.aspx.cs文件应用程序逻辑,这就是代码隐藏,分离,32,代码隐藏3-2,Presentation.aspx,表示文件.(Presentation.aspx),代码隐藏文件,在代码隐藏文件中定义的事件,代码隐藏文件略为复杂。它含有一个未编译的VisualC#类文件,33,代码隐藏3-3,代码隐藏文件(myCodebehind.cs),usingSystem;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;publicclassWebForm1:System.Web.UI.PageprotectedSystem.Web.UI.WebControls.LabellblMessage;PrivateButton_Click(Objectsender,EventArgse)lblMessage.Text=“您好!,继承自Page类,从表示文件调用Buttonclick事件,单击按钮后执行的功能,34,代码隐藏的工作原理,代码隐藏的原则是为代码创建一个类,并从ASP.NETPage对象中继承该类在上节中用于表示内容的页面Presentation.aspx就继承自此代码隐藏文件表示页继承了代码隐藏文件的所有属性、方法和事件代码隐藏文件继承自Page类,而表示文件继承自代码隐藏文件因为存在继承的这种层次结构,所以代码隐藏文件中含有Page类的所有属性、方法和事件,而所有这些属性、方法和事件也都存在于表示文件代码隐藏文件无需编译,因为只要请求表示页,就会自动编译包含在代码隐藏文件中的类文件,35,总结,ASP.NET页文件是含有将在Web服务器上执行代码的文件。

温馨提示

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

评论

0/150

提交评论