您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > web应用程序设计第3章
1.Web窗体的编程模型2.基于事件驱动的编程方法3.Web窗体的动态生成4.Web窗体与页面提交3.1.1Web窗体与Page对象3.1.2Page对象的生命周期3.1.3Page对象的常用属性与事件ASP.NETWeb窗体从操作界面角度:是一个网页,由页面元素组成的从源代码来看:是一个封装用户数据及其操作方法的Page类。Page对象创建的时机:当客户端请求访问ASP.NET网页时,ASP.NET服务器自动创建Web窗体对象(即Page对象)来保存Web窗体的数据信息。Page对象是Page类或其派生类的实例,是当前网页在服务器内存中的一种存在形式。阶段说明页请求当用户请求页时,ASP.NET将确定是否需要编译和运行。开始ASP.NET将确定访问请求是回发请求还是新的访问申请。页初始化ASP.NET将实例化窗体控件。加载若是回发请求,则将根据Web窗体的原来状态恢复各控件的属性。验证使用验证控件来完成输入验证。回发事件处理执行对应控件的事件处理程序。呈现生成HTML文档同时在页中保存Web窗体的状态数据。卸载当HTML文档发送到客户端并准备丢弃时,卸载页对象。1.IsPostBack:表示当前请求是否为回发请求。2.Page_PreInit:表示页初始化之前发生的事件,此时可动态创建窗体、设置页主题等。3.Page_Init:表示页初始化事件,此时可读取窗体控件的属性值,也可以初始化控件属性。4.Page_Load:表示加载页的事件,此时可读取或更新控件的属性,也可以装载其他数据(例如,加载XML文档、执行数据库的查询等)。5.Page_PreRender:表示页呈现之前的事件,此时可对页的内容进行最后更改。6.Page_UnLoad:表示页卸载事件,此时可执行最后的清除,例如关闭打的数据库的连接、书写用户访问日志记录、释放资源等。举例:P54例3-13.2.1Web窗体的客户端事件3.2.2Web窗体的服务器端事件3.2.3服务器端事件的绑定客户端事件的概念是在请求Web窗体的计算机上处理的事件。客户端事件的特征:◦客户端事件只能由HTML控件引发;◦客户端事件不能访问服务器端的资源;◦事件代码使用JavaScript编写,包含在页面文件中,使用scripttype=text/javascript标记来标识◦事件代码由客户端浏览器解释执行。客户端事件的编程技巧◦S1:在页面文件的script块中定义事件函数;◦S2:在HTML控件的事件属性中引用事件处理函数。举例:P56例3-2服务器端事件的特征◦由Web服务器控件或HTML服务器控件引发;◦事件函数由ASP.NET服务器执行;◦可以访问服务器资源;◦事件代码使用C#或VB编写,封装在页类之中。事件关联的方法的一般格式:protectedvoid事件函数名(objectsender,EventArgse){//事件函数代码}其中,sender表示引发事件的对象,其数据类型只能是object型。e封装事件发布者的参数信息,其数据类型为EventArgs型或其派生类型。举例:P59例3-3两种绑定方法:静态绑定和动态绑定静态绑定的实现步骤:1)在Web窗体的页面文件中添加控件;2)在Web窗体的源程序中定义事件函数;3)把事件函数名当作字符串直接赋值为控件页面元素的事件属性。动态绑定的实现步骤:1)在Web窗体的页面文件中添加控件;2)在Web窗体的源程序中定义事件函数;3)创建委托对象并使用+=运算符把它赋值给控件对象的事件属性。注意:事件与函数的关联可写在Page_Init或Page_Load事件函数中。举例:P61例3-43.3.1静态设计Web窗体的不足3.3.2Web窗体动态生成的技巧静态设计web窗体的优点:使用VisualStudio、DreamWeaver、FrontPage的可视化设计功能可快速完成页面设计。适用范围:网站各界面变化不大,网页显示的内容比较简单缺点:无法满足动态变化要求(页面内容必须根据程序的运行结果来确定)实现步骤:1)创建控件对象;2)设置控件属性的值;3)通过容器控件的Controls属性的Add方法把控件添加到Web窗体中。举例:P62例3-53.4.1Web窗体与超链接3.4.2跨页传值HtmlAnchor控件实现超链接:◦aid=”…”runat=”server”href=”目标页URL”链接文本aLinkButton控件的静态超链接:◦asp:LinkButtonid=”…”runat=”server”PostBackUrl=”目标页URL”链接文本/asp:LinkButtonLinkButton控件的动态超链接:asp:LinkButtonid=”btnGo”runat=”server”onClick=”btnGo_Click”Text=”Go…”/protectedvoidbtnGo_Click(objectsender,EventArgse){btnGo.PostBackUrl=”~/second.aspx”;}页面之间传递数据查询字符串源窗体:Response.Redirect(“目标文件.aspx?id=“+”abc”);目标窗体:Request[“id”].ToString();当跳转到目标页时,ASP.NET自动把保存在隐藏字段中的数据解密并封装到PreviousPage对象之中,通过该对象即可获得源页的数据,实现跨页传值。PreviousPage对象的适用范围:◦源/目标页不是同一个页面◦源/目标页在同一个网站中使用Page.PreviousPage获取源页数据有两种方式:◦用PreviousPage的FindControl方法跨页传值◦使用公共属性跨页传值,步骤如下:1)在源页中定义公共属性,用来公开窗体控件的值;2)在目标页中使用@PreviousPageType指令引用源页(此时PreviosPage属性被强类型化为被引用的源页的类,因此可直接引用源页的公共成员);3)使用PreviousPage读取源页公共属性值,从而实现跨页传值。举例:P65例3-6和3-7理解Web窗体与Page对象的关系、Page对象的生命周期;掌握服务器端事件的概念、特点以及两种绑定方法;掌握Web窗体动态生成的技巧;掌握Web窗体之间的超链接跳转的实现方法和两种跨页传值方法。
本文标题:web应用程序设计第3章
链接地址:https://www.777doc.com/doc-2855650 .html