您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第3章ASPNET页面模型
第3章ASP.NET页面模型ASP.NETWeb应用程序设计教程清华大学出版社北京交通大学出版社第3章ASP.NET页面模型3.1ASP.NET页面模型基本知识3.2Page类3.3ASP.NET页面事件模型3.1ASP.NET页面模型基本知识ASP.NET页面组成:可视元素编程逻辑模型单文件页面模型代码隐藏页模型3.1.1单文件页面模型可视元素和编程逻辑放于一个以.aspx为扩展名的ASP.NET页面文件中页面编程逻辑以代码声明块和代码呈现块的形式嵌入到ASP.NET页面之中可视元素置于带有“runat=server”属性的form标记之中。3.1.1单文件页面模型1.指令供编译器处理ASP.NET页面和用户控件时使用的命令。无论是单文件页面模型,还是代码隐藏页模型都使用指令。%@指令名属性=属性值%%PageLanguage=C#AutoEventWirup=trueCodeFile=Default.aspx.csInherites=_Default%3.1.1单文件页面模型5.代码呈现块定义当呈现页时执行的内联代码或内联表达式。%Response.Write(“Hello!”);%%=“Hello”%3.1.1单文件页面模型6.代码声明块代码声明块就是把用C#语言编写的代码放在script标记中。scriptrunat=serverintDayOfMonth(intmonth){intdays;switch(month){case1:case3:case5:case12:days=31;break;default:days=0;break;}returndays;}/script3.1.2代码隐藏页模型可视元素和编程逻辑分别放置在两个文件中。放置可视元素的文件仍然称为ASP.NET页面文件,其扩展名为“.aspx”。放置编程逻辑的文件称为代码隐藏类文件,扩展名为“.aspx.cs”,是一个C#类文件。通过Page指令的CodeFile属性和Inherits属性,将ASP.NET页面与代码隐藏类文件关联起来。%@PageLanguage=C#CodeFile=Default.aspx.csInherits=Default%3.1.3页面运行机制1.单文件页面模型的页面运行机制asp:TextBoxID=Userrunat=server/asp:Buttonrunat=serverID=OKText=OK/class_Default:System.Web.UI.Page{TextBoxUser;ButtonOK;}aspx文件新类页面3.1.3页面运行机制2.代码隐藏页模型的页面运行机制%PageCodeFile=Person.aspx.csInherits=Person%asp:TextBoxID=Userrunat=server/asp:Buttonrunat=serverID=OKText=OK/partialclassPerson:System.Web.UI.Page{protectedTextBoxUser;protectedButtonOK;}aspx文件新类页面partialclassPerson:System.Web.UI.Page{protectedvoidOK_Click(){UserName=User.Text;}classPerson_aspx:Person{}aspx.cs文件从aspx生成的类派生3.2Page类页面的基类是Page类,它提供了许多属性,可以访问ASP.NET页面信息。3.2.1Page类的属性1.添加客户端脚本利用ClientScriptManager类(Page类的ClientScript属性)管理客户端脚本并将它们添加到Web应用程序中。stringdate=DateTime.Now.ToLongDateString();stringjs=@functionshowDate(){alert('+date+');};Page.ClientScript.RegisterClientScriptBlock(this.GetType(),MyDate,js,true);3.2.1Page类的属性EnableViewState:页面及服务器控件的视图状态。IsCrossPagePostBack:是否是跨页发送。IsPostBack:是否回发。IsValid:页面验证是否成功。Master:母版页。MasterPageFile:母版页的文件名。PreviousPage:跨页发送时,向当前页传输控件的页。StyleSheetTheme:应用于此页的样式表的名称。Theme:页主题。Title:页标题。ViewState:包含视图状态的一个字典。3.2.2Page类的方法1.设置焦点Page类的Focus或SetFocus方法,可将焦点设置给指定的控件。2.查找指定的服务器控件Page类的FindControl方法,在页命名容器中搜索指定的服务器控件。TextBoxt=(TextBox)Page.FindControl(test);t.Focus();3.2.3访问ASP.NET内置对象1.Response对象主要用于把服务器生成的结果发送到客户端,并在客户端浏览器中显示出来Response.Write(ASP.NET可以使用的编程语言:);Response.Redirect();3.2.3访问ASP.NET内置对象2.Request对象代表由客户程序发发送到服务器的所有信息,使用它可以获取用户在浏览器中输入的信息。intnum=Convert.ToInt32(Request.QueryString[tb]);intnum1=Convert.ToInt32(Request.Form(TextBox1));stringip=Request.ServerVariables[REMOTE_ADDR];3.2.3访问ASP.NET内置对象3.Server对象可以访问服务器上的方法和属性Response.Write(Server.HtmlEncode(“HR”));Response.Write(Server.MapPath(aspbook/include));Server.Transfer(Login.aspx);3.2.3访问ASP.NET内置对象4.Cookie一小段文本信息,保存在客户机的硬盘上,可由浏览器访问。提供了一种在Web应用程序中存储用户特定信息的方法。Response.Cookies[UserName]=王大力;Response.Cookies[“UserName”].Expires=DateTime.Now.AddDays(1);stringname=Request.Cookies[UserName].Value;3.2.3访问ASP.NET内置对象5.Application对象ASP.NETWeb应用程序是单个Web服务器上的某个虚拟目录及其子目录范围内的所有文件、页、处理程序、模块和代码的总和ASP.NETWeb应用程序由Application对象表示。Application.Lock();Application[UserName]=刘大力;Application.UnLock();stringname=Application[UserName].ToString();3.2.3访问ASP.NET内置对象Application事件Application_Start和Application_End事件处理过程存在于Global.asax文件中3.2.3访问ASP.NET内置对象6.Session对象Session对象用于维护会话状态。用户在一段时间内对站点的一次访问就是一次会话。Session[UserName]=王大力;stringname=(string)Session[UserName];Session.Remove[UserName];事件Session_OnStart和Session_OnEnd3.3ASP.NET页面事件模型3.3.1事件模型概述1.原理1.用户单击按钮引发按钮单击事件2.服务器执行事件处理过程,并返回处理结果OKOK3.3.1事件模型概述2.事件处理过程voidEventMethod(objectsender,EventArgse){事件处理代码}3.3.1事件模型概述3.添加事件(1)在“设计”视图中添加默认事件(2)在属性窗口中添加事件(3)在代码编辑器中添加事件3.3.2回发在服务器控件中,某些事件(例如Click事件)会导致页面被立即发送到服务器,并且事件被触发,这称为回发。有些服务器控件包含AutoPostBack属性,当其为true时,控件事件会导致页面立即发送,产生回发3.3.3跨页发送若回送给另一个页面,则称作跨页发送。1.实现跨页发送设置控件的PostBackUrl属性为发送的目标页,可以实现跨页发送。asp:ButtonID=OkRunat=serverText=CrossPagePostBackUrl=AnotherPage.aspx/2.从源页获取信息Page类的PreviousPage属性提供了对源页的引用,使用Page类的FindControl方法,获取源页上要访问的控件。TextBoxfirstname=(TextBox)PreviousPage.FindControl(FirstName);3.3.4视图状态和控件状态1.视图状态用一个名为_VIEWSTATE的隐藏域(即inputtype=hidden)保存页面上的控件信息。在Page指令中添加“EnableViewState=false”,关闭页面视图状态2.控件状态可以在往返过程中存储自定义控件状态。但控件状态不能被关闭。3.3.5页面生命周期一个页面从创建到卸载,要经历初始化页面、加载页面、验证页面、处理回发事件、呈现页面、卸载页面等一系列阶段,称为页面生命周期。
本文标题:第3章ASPNET页面模型
链接地址:https://www.777doc.com/doc-3629742 .html