电子教程布丁工商职业学院网站设计资源共享课程_第1页
电子教程布丁工商职业学院网站设计资源共享课程_第2页
电子教程布丁工商职业学院网站设计资源共享课程_第3页
电子教程布丁工商职业学院网站设计资源共享课程_第4页
电子教程布丁工商职业学院网站设计资源共享课程_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE12ASP.NETWebASP.NET,主要学习内容包括:ASP.NETVS2008Web及Web应用的异常处理。ASP.NETVS2008WebWebWebFormWebFormWebFormWebASP.NET在本节中,将学习Global.asaxASP.NETASP.NETASP.NETWeb(IIS)(InternetServerApplicationProgrammingInterface)扩展。当IIS接收到客户端ISAPIASP.NETASP.NETIISISAPI处ISAPIIISASP.NET。说明:ASP.NET即是IIS的ISAPI扩展,并且ASP.NET处理已映射到它的文件扩展名,如.aspx、.ascx、.ashx和.asmx。ASP.NET图2-1说明了这种关系。图创建了应用程序域并实例化了宿主环境之后,ASP.NET将创建并初始化对象(如HttpContext、HttpRequestHttpResponse。HttpContext对象,如HttpRequest和HttpResponseHttpRequest对象包含有关当前请求的信括和浏览器信息。HttpResponse对象包含发送到客户端的响应,包括所有呈现的出和初始化所有应用程序对象之后,将通过创建HttpApplicatio类的实例启动应用Global.asax文件,则ASP.NET会创建Global.asax类(从HttpApplicatio)的一个实例,并使用该派生类表示应用程序。同时,ASP.NET将调用HttpApplicationInit方法。Global.asax图2-2说明了这种关系。图在该阶段,将由HttpApplication类执行一系列的(如BeginRequest、ValidateRequest等(在应用程序的配置文件中映射,IHttpHandlerPage(页并且需要对该页进行编译,则ASP.NE会在创建该页的实例之前对其进行编译,在装载后用HttpResponse说明:对于这些对象详细信息请参阅MSDN库2.1.2生命周期和Global.asax文在应用程序的生命周期期间,应用程序会触发可处理的并调用可重写的特定方法。 中创建一个名为Global.asax的文Global.asax,ASP.NETHttpApplication 静数据在应用程序类的非静态成员中例如可以在Global.asax文件中定义一个属性,Applcaion_BeginRquestAP.NET在表2-1列出在应用程序生命周期期间使用的一些常见和方法表2-ASP.NET(如页)Application_Start例数据仅可由创建的HttpApplication类的第一个实例使用,所以设置任何实例数据ASP.NET个销售书籍的电子商务站点,首先该站点(假设是第一个该站点的人,那么Application_Start)Session_StartApplication_BeginRequestSession_Start而Application_BeginRequest后触发Application_EndRequest,在选购物品的过程中将不断触发Application_BeginRequest和Application_EndRequest,当选择好商品并下完订单后,关闭浏览器离开,在一定时间内服务器将触发Session_End,即的会话终结。然后又该站点,这将触发Session_Start与Application_BeginRequest(由于Application_Start在一个应用生命周期内只被触发一次,因此,这里它将不被触发),后面过程与一致。最后,如果由于服务器故障或重启,则将触发Application_End。VS2008WebVS2008WebWeb使用VS2008WebWebVS2008VS2008(VisualStudio2008)ASP.NETWebXMLWebServices(IDEJ#这些语言利用了.NETFrameworkASP.NETWeb应用程序和XMLWebServices开发的关键技术。注意:VS2008MSDNVS2008Web站点VS2008Web(也称ASP.NET文件系统站点、本地IIS站点、IIS站点和文件传输协议(FTP)站点。VS2008能够实现将站点的文件在本地硬盘上的一个文件夹中,或在局域网将站点作为Internet信息服务(IIS)应用程序来创建,就可以对其进行开发或测试。IISWeb④在工作组设置中,工作组成员可以中心服务器上的公共站点等IIS功能测试文件系统站点。试网页,它专门用于构建用于在本机方案中(从Web服务器所在的计算机中浏览)ASP.NETASP.NETDevelopmentServer不会提供应用程序范围外的文件。ASP.NETDevelopmentServer提供了在向运行IIS机上的经验证的请求,这就要求服务器可以支持NTLM(WindowsNTIIS一个本地Internet信息服务(IIS)站点就是本地计算机上的一个IISWeb应用程InternetIISIIS④默认情况下,为本地IIS站点启用了当要通过使用在计算机上运行的IIS创建站点时,可使用站点。计算机必须配置FrontPage②多个开发人员可以同时使用同一站点。①计算机上的IIS版本必须是5.0或更高②针对调试站点的配置可能很复杂③一次只有一个开发人员可以调试站点,当开发人员单步调试代码时,所有其当某一站点已位于配置为FTP服务器 计算机上时,可使用FTP部署的站点例Internet(ISP)FTP①没有FTP部署的站点文件的本地副本,除非自己这些文件FTP演示和练习:创建一个本地IIS站本演示中,主要演示创建一个本地IIS站点的详细过程,并要求演示出在IIS中生站点虚拟路径和在C:\Inetpub\wwwroot系统 VS2008Web结ASP.NETWeb,ASP.NET件夹名称。可以在VS2008的“解决方案资源管理器”中查看,如图2-3所示。图WebDefault.aspx的页,并将其保存在根中。ASP.NET①App_BrowsersASP.NET件(.browser②App_Code:包含用户希望作为应用程序一部分进行编译的共享类和业务对象(例如.cs和.vb文件)的源代码。在动态编译的项目中,当对应用程序发出首次请求时,ASP.NET会编译App_Code文件夹中的代码。然后在检测到任何更改时重新编译该文件夹中的项。在应用程序中将自动App_Code文件夹中的代码。App_Code文件夹 ③App_Data:包含应用程序数据文件,包括.mdf数据库文件、XML文件和其他数据文件。ASP.NET使用App_Data文件夹应用程序的本地数据库,如用于成④和.resources文件。App_GlobalResources文件夹中的资源是强类型的,可以通过编式进 ⑤(.resx.resourcesApp_Themes:ASP.NET(.skin⑦App_WebReferences:包含用于创建在应用程序中使用的Web的协定文(.wsdl文件、架构(.xsd文件)和发现文档文件(.disco ap文件件。在应用程序中将自动Bin文件夹中的代码所表示的任何类。注意:应用程序文件夹(App_Themes)WebASP.NET和管理,而其他文件类型则由IIS服务器支持和管理。表2-2列出ASP.NET应用中的文件类型及位置和说明表2-位置 。Global.asax个时间点运行的可选方法(处理程序。。WebASP.NETWeb。请。XMLWebservices文件,该文件包含可由Web。ASP.NETWebWeb。Traceaxd 。.compile stub译的文件的程序集。在预编译项和文件)并将其放在Bin 下。配置文件,该文件包含表示ASP.NET功能XML.cs、.vb 但如果是ASP.NET页的代码隐藏文件,则与网页位于同一。源代码文件(.cs.vb,该文件定义可在页之间共享HTTP.cspro、VisualStudio。VisualStudioWeb.disco XMLWebservicesWeb.dsdgm。WebservicesVisualStudio解决方案,以便对Webservice交互的结Bin 已编译的类库文件(程序集。在项目Bin录中,您可以将类的源代码放在子.licx、。检查用户是否得到使用控件的,从而帮护自己的知识。.mdb、App_Data。AccessApp_Data。SQLServerExpress.msgx、。.resources或 .sdm应用程序 或。(SDM)应用程序 Web的逻辑结构。ASP.NET包含一个默认的站App_Themes WebVisualStudio项目。VisualStudio应用程序 或。SOAP说明:2-2Web应用的配置与配置管理工ASP.NET配置数据在XML文本文件中,每一个XML文本文件都命名为Web.config。Web.config文件可以出现在ASP.NET应用程序的多个 中。使用这些用标准的文本编辑器、ASP.NET的MMC管理单元、管理工具或ASP.NET配置APIASP.NETASP.NET配置文件将应用程序配置设置与应用程序代码分开。通过将配置数据与代码1.WebASP.NET配置文件可以出现在ASP.NET应用程序的多个 中。ASP.NET配置层①使用应用于配置文件所在 ②允许您将配置数据放在将使它具有适当范围(整台计算机、所有的Web应用程序、 所 应用程序都从一个名为系统\版本号\CONFIG\Machine.configMachine.configASP.NET配置层次结构的根是一个称为根Web.config文件的文件,它与 中。根Web.config文件继承Machine.config文件中的所有设置。Web.config.NETFrameworkASP.NETASP.NETWeb.config置,因此只需为重写默认设置的设置创建Web.configWeb2-4图表2-3表2-文件包含服务器上所有Web应用程序的ASP.NET架根服务器的Web.config文件与Machine.config文件在同一个中,它包含大部分system.web特定的Web.config文件包含应用于该的设置,并向下继承到该站点的所有ASP.NET ASP.NET应用特定ASP.NET应用程序的Web.config文件位于该应用程序的 中,它包含应用于Web应用程序并 ASP.NET应用应用程序 的Web.config文件包含应用于此 2.管理工管理工具旨在为各个中最常用的配置设置提供一个用户友好的图形编辑工具。由于管理工具使用基于浏览器的界面,因此它允许您更改设置,这对于管理已经部署到成品Web服务器的站点(如承载的)非常有用。 中配Web.config文件,并且允许配置IIS6.0和更高版本的IISWeb②“配置文件”选项卡,其中包含用来管理如何收集者信息的设置ASP.NET注意:管理工具是随.NETFramework2.0及更高版本自动安装的管理工具使用基于浏览器的界面,因此它允许您更改设置,这对于管理已经部署到成品Web服务器的站点(如承载的)非常有用。WebFormPageWebFormPageWebFormWebWebFormWebFormWebFormWebWebWebForm(也称ASP.NET网页)作为Web应 程序逻辑。WebForm①基于ASE.NET技术,在服务器上运行的代码动态地生成网页并发送到览②兼容所有浏览器或移动设备。ASP.NETHTMLASE.NET(如InternetExplorer6)上运行并利用浏览器特定的功能。③兼容.NET公共语言运行时(CLR)所支持的任何语言,其中包括VisualBasic、VisualC#、J#和JScript.NET。④基于.NETFramework生成。它具有.NETFramework的所有优点.包括ASP.NET(2)驱动的编程模ASP.NETWeb或服务器上发生的编写处理程序,甚至不需要知道页框架是如何实现该模型的。ASP.NET页框架会自动处理页及其控件的状态任务,它允许以显式方式应用ASP.NET页框架支持多种编程语言,如VisualBasic.NET和VisualC#.NET等。并且在同一应用的不同 在ASP.NET网页上可以方便的利用数据控件和数据源控件进行数据库,甚至不需ASP.NETWebForm回发和往WebFormID(ASP.NET网页的处理循环具体过程如下(HTTPGET)Web(HTTPPOSTASP.NETWebWeb发生在Web服务器上,因此页面可以执行的每个操作都需要一次到服务器的往返行程。说明:此处只讲解了回发,跨页提交将在第3章“使用Web控件”中讲解。WebForm语WebHTMLASP.NET这些指令由ASP.NET用作处理页面的指令,但发送到浏览器的标记的一部分呈现。@Page:该指令最常用,允许用户为页面指定多个配置选项,包括:②@Import:此指令允许您指定要在代码中名空间@OutputCache:@Implements:.NET⑤@Register:此指令允许用户其他控件以便在页面上使用。@Register指令控件的标记前缀和控件程序集的位置。如果要向页面添加用户控件或自定义ASP.NET控件,则必须使用此指令。某些类型的ASP.NET文件使用@Page之外的指令。例如,ASP.NET母版页使用@MasterASP.NET@ControlHead(除标题外如使用的HTML版本,和样式表等内容。HTMLformformformformrunatserver务③可执行回发的服务器控件必须位于form元内action特性。ASP.NET重<formid="form1"<formid="form1"…WebASP.NETWeb服务器控件与HTML按钮和input务器上处理,允许用户使用服务器代码对其属性进行设置。这些控件还可以在服务器代码中进行处理的。服务器控件使用一种特殊的语法,当页面运行时由ASP.NET识别这种语法。下面的代码示例演示一些典型的Web服务器控件。…<asp:TextBoxID="TextBox1" …<asp:TextBoxID="TextBox1" OnClick="Button1_Click"…HTMLASP.NETHTML用。可以将runat="server"特性和ID特性添加到页面的任何HTML元素中。页面运行时,ASP.NETHTMLbody<bodyrunat="server"<scriptlanguage=”javascript”type="text/javascript"function}<scriptlanguage=”javascript”type="text/javascript"function}大多数ASP.NET页包含当处理页面时在服务器上运行的代码。ASP.NET支持多种语C#、VisualBasicscriptrunat="server"<%@<%@PageLanguage="C#"<scriptvoidButton1_Click(objectsender,System.EventArgs{Label1.Text= e,"+}<formid="form1"… OnClick="Button1_Click"…WebFormASP.NET②页的编程逻辑,包括处理程序和其他代码ASP.NET提供两个用于管理可视元素和代码的模型,即单文件页模型和代码隐藏页模型。这两个模型功能相同,两种模型中可以使用相同的控件和代码。scriptrunat="server"ASP.NET<%@PageLanguage="C#"<scriptvoidButton1_Click(Objectsender,EventArgs<%@PageLanguage="C#"<scriptvoidButton1_Click(Objectsender,EventArgs{Label1.Text="Clickedat"+}<title>Single-FilePage<formid="Form1"<asp:Labelid="Label1"runat="server"<br<asp:Buttonid="Button2"runat="server"onclick="Button1_Click"<script>块可以包含页所需的任意多的代码。代码可以包含页中控件的处理序页被作为从Page类派生的类进行处理该页不包含显式类但编译器将生成将控件作(并不是所有的控件都作为页成员公开;有些控件是其他控件的子控)页中的代码成了该类的一部分;例如,创建的处理程序将成为派生的Page保留编程代码。这就使得页面显示部分和代码逻辑分离。<%@PageLanguage="C#"CodeFile="SamplePage.aspx.cs"Inherits="SamplePage"AutoEventWireup="true"%><%@PageLanguage="C#"CodeFile="SamplePage.aspx.cs"Inherits="SamplePage"AutoEventWireup="true"%><headid="Head1"runat="server"<title>Code-BehindPage<formid="form1"<asp:Labelid="Label1"runat="server"Text="Label"><br<asp:Buttonid="Button2"Text="Button">在单文件模型和代码隐藏模型之间,.aspx在具有runat="server"特性的<script>块。(如果要在页中编写客户端,则该页可指令包含外部文件(SamplePage.aspx.vb或SamplePage.aspx.cs)和类的特性。这些将.aspx页至其代码usingSystem;usingSystem.Web;usingusing下面的代码示例演示一个与单文件页的示例包含相同ClickusingSystem;usingSystem.Web;usingusingpublicpublicpartialclassSamplePage:{protectedvoidButton1_Click(objectsender,EventArgs{Label1.Text="Clickedat"+}}VisualStudio易(VisualStudioVisualStudio代码隐藏页的优点使它们适用于包含大量代码或多个开发人员共同创建的Web①代码隐藏页可以清楚地分隔标记(用户界面)WebFormPagePage类与扩展名为.aspx的文件相关联。这些文件在运行时被编译为Page对象,并在请求ASP.NET页且该页将标记呈现给浏览器的过,ASP.NET将创建一个表示您的页的类实例。该类不仅包含为页编写的代码,还包含由ASP.NET生成的代码。ASP.NET页作为一个单元运行,它将该页中的服务器端元素(如控件)与您编写的处理代码结合在一起。如果使用项目,则无需将页预编译为程序集。ASP.NET将动态在单文件页中标记服务器端元素以及处理代码全都位于同一个.aspx文件中。在对该页进行编译时,ASP.NET将生成和编译一个从基Page类派生或从使用@Page指令的Inherits特性定义的自定义基类派生的新类。例如,如果在 中创建一个名为SamplePage1的新网页,则将生成一个从Page类派生的名为图ASP.SamplePage1_aspx将使用子文件夹名称作为生成的类的一部分。生成的类中包含.aspx页中的控件的以及您的处理程序和其他自定义2-5ASP.NETPage在代码隐藏模型中,页的标记和服务器端元素(包括控件)位于.aspx文件中,而页代码则位于单独的代码文件中。该代码partial(VisualBasic为Partial)的类,以表示该代码文件只包含构成该页的完整类的全体代码的一部说明:MSDNPage.aspx@PageInheritsASP.NET.aspx,ASP.NET32-6ASP.NET图演示和练习:添加WebWebForm。PagePagePage类具有很多属性,其中有一部分属性提供可以直接ASP.NET的内部对象的编2-4表2- ASP.NET提供对当前页请求的,其中包括请求标题、等公开可以用于在页之间传输控件的实用工具方提供对所有会话的应用程序范围的方法和,还提供对可用于信息的应用程序范围为当前用户会话提供信息。还提供对可用于信息的会话范围的缓存的,以及控制如何提供在HTTP页输出中显示系统和自定义protectedvoidPage_Load(objectsender,EventArgs{if{}}载protectedvoidPage_Load(objectsender,EventArgs{if{}}说明:7“Web否符合预期设定的格式要求等,如果所有都符合则IsValid值为true,否则为false。voidvoidbtnSubmit_Click(ObjectSender,EventArgs{if{lblOutput.Text="Pageis}}注意:Page信息,请参阅MSDNASP.NET这些步骤包括初始化、实例化控件、还原和状态、运行处理程序代码以及进行表2-,ASP.NET在启动阶段,将设置页属性,如Request和Response。在此阶IsPostBackUICulture回发处如果请求是回发请求,则将调用控件处理程序。之后,将调用所有验证程序控件的ValidateIsValid页会针对每个控件调用Render方法,它会提供一个文本编写器,用于将控件的输出写入页的Response属性的OutputStream对象中。完全呈现页并已将页发送至客户端、准备丢弃该页后,将在页生命周期的每个阶段中,页将可运行您自己的代码进行处理的。对于控序绑定到。页还支持自动ASP.NET@Page指令的AutoEventWireup特性设置为true,页事 表2-6列出了常用的页生命周期中的及其典型使用表2-在启动阶段完成之后、初始化阶段开始之前。使用该来执行下列操作:检查IsPostBack属性来确定是不是第一次处理该页。创建或重新创建Theme注意如果请是回发求则控的值尚从视状态还原如在此阶置控件性,则值可能在下一 中被盖。在所有控件都已初始化且已应用所有外观设置后。使用该来如果尝试调用方法(如Response.Write方法,则该页 异常WebWeb如图2-7所示是试图网页而发生未处理异常时的显示信息,其中,由于发生未理异常,直接返回了一个错误页面,页面上显示了将要的数据库的名称以及登录数据库图页面级异常处(Page_Error,protectedprotectedvoidPage_Error(objectsender,EventArgs{}Page_Error到ErrorPage.aspx页面。面中的控件(如Label控件)中显示错误信息,但可以通过Response输出错误信息,并且在处理一个错误后,必须通过调用Server对

温馨提示

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

评论

0/150

提交评论