Page 对象与结构分析

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

最新文档


当前位置:首页 > 管理文书 > 金融资料


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

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


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