欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (精品)第三篇Web编程.ppt

    • 资源ID:85527725       资源大小:716.51KB        全文页数:84页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (精品)第三篇Web编程.ppt

    第三篇第三篇Web应用程序设计应用程序设计本章对应的是教材中的第三篇,包括本章对应的是教材中的第三篇,包括1315三章内容。三章内容。这三章分别介绍了这三章分别介绍了Web开发基础、开发基础、Web服服务器控件及一个开发实例。务器控件及一个开发实例。Web开发涉及一些基础性的东西,开发涉及一些基础性的东西,HTML、JavaScript、CSS等都应该有所了解,时间等都应该有所了解,时间原因我们就不详细讲解了。原因我们就不详细讲解了。课上将这些章整合为一章,因此内容与书课上将这些章整合为一章,因此内容与书上稍有变化。上稍有变化。本章主要内容本章主要内容Web开发基础开发基础IIS简介简介一个简单的一个简单的ASP.NET程序演示程序演示例题代码的分析例题代码的分析Web控件与控件与HTML控件控件ASP.NET编程的一些重要问题编程的一些重要问题常用常用Web服务器控件服务器控件ASP.NET连接数据库及数据绑定与显示连接数据库及数据绑定与显示Web表单表单和和Web窗体窗体窗体和表单的英文单词都是窗体和表单的英文单词都是 Form一般一般HTML的的 Form 称为称为表单表单把把“Web表单表单”改为改为“Web窗体窗体”,与之,与之加以区分。加以区分。另外强调另外强调写写 ASP.NETWeb应用程序,应用程序,就像写就像写 Windows窗体程序一样简单方便,窗体程序一样简单方便,程序员可以大致了解程序员可以大致了解 HTML即可进行开即可进行开发。发。1.Web开发基础开发基础WhatistheWorldWideWeb?WWW的概念的概念1989年由年由Berners-Lee提出。提出。WhatmakestheWebwork?Web依赖于以下机制:HypertextProtocolsUniversalResourceLocator(URL)Clientandservercomputers剖析一个剖析一个URLprotocolhostcomputerdirectorypathfilenameNote:NotallURLswillhavethedirectoryandfilenameWhat makestheWebwork?How theWebworks?2.浏览器解释用户浏览器解释用户的请求并向相应的的请求并向相应的服务器发出请求服务器发出请求3.服务器接受服务器接受并处理浏览器并处理浏览器的请求的请求4.服务器发送用户所需文件服务器发送用户所需文件并被浏览器解释并被浏览器解释1.用户发送用户发送请求请求5.浏览器显示用户所浏览器显示用户所需内容需内容BrowserClient-SideServer-SideHTML,XML,XHTMLCascadingStyleSheets(CSS)Scriptinglanguages-JavaScript,VBScriptJavaAppletsActiveXcontrolsPlug-insandHelpersapplicationCGI/PerlPHPColdFusionScriptingLanguages-Server-sideJavaScript-ASP,JSP,JavaServletsAPIprogramsClient-side&Server-sideTechnologies静态网页静态网页早期的早期的WEB技术,技术,只能处理静态的只能处理静态的HTML网页。网页。客户机向客户机向WEB服务服务器请求一个网页,器请求一个网页,WEB服务器将服务器将HTML网页下载到网页下载到客户端,由客户端解客户端,由客户端解释并运行这个网页释并运行这个网页WEB服务器服务器HTML网页客户机浏览器客户机浏览器请求请求下载下载HTTP网页网页HTML网页网页解释并运行解释并运行Internet用户端用户端服务器服务器静态网页静态网页1.开发语言:开发语言:HTML2.开发工具:开发工具:FrontPage、DreamWeaver等等3.浏览器:浏览器:IE、Netscape等等4.WEB服务器:服务器:IIS、Apache、WebLogic等等5.OS:Windows、Unix、Linux等等早期的动态网页早期的动态网页后来,出现了一些客后来,出现了一些客户端的户端的“动态网页动态网页”技术,主要是使用技术,主要是使用嵌嵌入入到到HTML的的脚本语脚本语言言,控制控制HTML元素,元素,让呆板的让呆板的HTML页面页面“活活”起来。浏览器起来。浏览器也加上了也加上了脚本解释脚本解释功功能能WEB服务器服务器HTML/脚本网页脚本网页客户机浏览器客户机浏览器+脚本解释器脚本解释器请求下载HTTP/脚本网页HTML/脚本网页脚本网页解释并运行服务器端动态网页技术服务器端动态网页技术客户端的技术不能解决对数据库、客户端的技术不能解决对数据库、文件等服务器资源的访问问题,限文件等服务器资源的访问问题,限制了制了WEB技术的应用,尤其是企业技术的应用,尤其是企业级应用。级应用。于是于是服务器端服务器端的动态网页的动态网页技术应运技术应运而生。而生。动态网页基本原理动态网页基本原理客户机请求一个服务器端网页。客户机请求一个服务器端网页。服务器端网页是一个混合了服务器端网页是一个混合了HTML、服务器端服务器端脚本语言、服务器端资源访问对象的程序。脚本语言、服务器端资源访问对象的程序。该程序接到请求后,首先在服务器上执行服务该程序接到请求后,首先在服务器上执行服务器端脚本语言,进行对服务器端资源访问对象器端脚本语言,进行对服务器端资源访问对象的调用(如数据库调用)。的调用(如数据库调用)。然后通过一个然后通过一个”过滤器过滤器”程序(程序(ASP.NET过滤过滤器是器是aspnet_isapi.dll),将服务器端网页执行,将服务器端网页执行的结果的结果“翻译翻译”成客户端的成客户端的HTML/脚本,下载脚本,下载到客户端浏览器上解释并运行。到客户端浏览器上解释并运行。什么是什么是ASPASP(ActiveServerPage)是由是由Microsoft开发开发的用于构建的用于构建动态动态网站的技术。网站的技术。ASP.NET是是.NETFramework的一部分,是的一部分,是一个统一的一个统一的Web开发模型。开发模型。能够以能够以C#语言编写语言编写Web应用程序,其开发应用程序,其开发的页面默认由两部分组成:的页面默认由两部分组成:页面文件(页面文件(.aspx)用来编写)用来编写HTML代码代码代码隐藏页文件(代码隐藏页文件(.aspx.cs)用于处理页面)用于处理页面逻辑,可用逻辑,可用C#编写。编写。早期的早期的ASP代码代码HelloWorldbyASPClientServerRequestReply withHTML pageASPServerComponentHands request toHands HTML pageTranslatesScriptIntoHTMLHowtoloadanASPpage?缺点缺点这种服务器端的动态网页技术有两这种服务器端的动态网页技术有两个重要缺陷:个重要缺陷:服务器端脚本语言是服务器端脚本语言是解释执行解释执行的,的,效率低下。效率低下。HTML元素和程序元素和程序代码混排代码混排,使程,使程序结构化极坏,不利于写作和阅读序结构化极坏,不利于写作和阅读ASP.NET解决了这两个问题解决了这两个问题它是它是编译运行编译运行的,效率相当高的,效率相当高使用了使用了“代码后置代码后置codebehind”技术,技术,使使HTML和代码分开和代码分开不仅利于程序写作和阅读,还使团队分不仅利于程序写作和阅读,还使团队分工成为可能。工成为可能。页面设计师可以设计页面设计师可以设计HTML,程序员可程序员可以写程序,两人的工作成果可一起运行以写程序,两人的工作成果可一起运行一个一个ASP.NET应用程序的运行过程应用程序的运行过程HTML/脚本网页WEB服务器服务器客户机客户机服务器资源服务器资源编译的后置代码编译的后置代码和和HTML文件文件过滤器过滤器aspnet_isapi.dllHttpModuleHttpHandler请请求求调用调用运行结果运行结果转换成客户端转换成客户端HTML/脚本脚本解释并运行解释并运行 IIS WindowsInternet用户端用户端基于基于ASP.NET 的的 Web Site 构架构架显示文件显示文件录入数据录入数据产生产生Submit事件事件Form中的中的Object、Action(CGI文件)文件)VB/C#/VCHTML文本文本运行运行JavaScript或者或者 VBScriptDBMSCORBARemote *.Aspx.cs文件文件 VB/C#HTML 操作服务器端控件产生服务器段事件,调用服务器端事件处理函数2.IIS简介简介WEB服务器也称为服务器也称为WWW服务器,它是服务器,它是一个软件,主要是提供网上信息浏览服务一个软件,主要是提供网上信息浏览服务建一个网站,需要安装和配置建一个网站,需要安装和配置WEB服务器,服务器,如果想让网站成为如果想让网站成为Internet的一个站点,则的一个站点,则还需要一个独立的还需要一个独立的IP地址地址IIS(InternetInformationServer):微软的微软的WEB服务器服务器在本机调试在本机调试“网络网络”程序,需要安装程序,需要安装IIS安装安装IIS服务器版的服务器版的Windows操作系统中,它操作系统中,它是一个可选的安装组件,在一些非服务是一个可选的安装组件,在一些非服务器版的器版的Windows操作系统中也含有操作系统中也含有IIS安装安装VisualStudio.NET前必须在你的前必须在你的机器上先安装机器上先安装IISIIS安装过程中自动配置安装过程中自动配置WEB服务器,服务器,一般一般不要更改不要更改系统默认的配置系统默认的配置,以免影,以免影响响ASP.NET的运行的运行。应了解的应了解的IIS知识知识网站默认工作目录网站默认工作目录:C:INTERPUBWWWROOT浏览器访问浏览器访问http:/locaohost既访问此路径既访问此路径开发网站时网页文件通常都放在这个目录里开发网站时网页文件通常都放在这个目录里我们建立的我们建立的ASP.NET应用程序默认情况下应用程序默认情况下也都放在这个文件夹里。也都放在这个文件夹里。实际开发时经常放在别处,但是要进行设置。实际开发时经常放在别处,但是要进行设置。Internet信息服务信息服务控制面板控制面板/管理工具管理工具/Internet信息服务,可信息服务,可以打开以打开IIS的管理工具,对的管理工具,对IIS进行管理、配进行管理、配置置有时我们希望将应用程序放在别的目录下,为有时我们希望将应用程序放在别的目录下,为了能找到相应路径,需要建立了能找到相应路径,需要建立虚拟目录虚拟目录在在IIS管理工具中右键单击管理工具中右键单击“默认默认web站点站点”,新建新建/虚拟目录虚拟目录,根据向导选择相应目录即,根据向导选择相应目录即可可此时浏览器访问此时浏览器访问http:/locaohost/虚拟目录名虚拟目录名/文件名文件名既可访问此站点。既可访问此站点。3.一个简单的一个简单的ASP.NET程序演示程序演示创建一个创建一个ASP.NETWeb应用程序应用程序注意应用程序默认的创建位置:注意应用程序默认的创建位置:http:/localhost/WebApplication1可以修改项目名称可以修改项目名称WebApplication1如果创建到其他目录下,需要设置如果创建到其他目录下,需要设置虚拟目录虚拟目录项目创建后,出现一个空白项目创建后,出现一个空白web窗体,同窗体,同时在时在“解决方案管理器解决方案管理器”中,有一个中,有一个Default.aspx文件文件,注意窗体下方的,注意窗体下方的“设计设计”与与“源源”标签,切换一下看看效果标签,切换一下看看效果一个简单的一个简单的ASP.NET程序演示程序演示在在“解决方案管理器解决方案管理器”中点图标中点图标“显示显示所有文件所有文件”,可以看到更多的文件,可以看到更多的文件在编写在编写web程序时,程序时,IDE生成了下列文生成了下列文件:件:Default.aspx:HTML文件文件Default.aspx.cs、Default.aspx.designer.cs:程序源代码文件。:程序源代码文件。打开文件看看打开文件看看.NET编译程序只编译程序源代码文件编译程序只编译程序源代码文件一个简单的一个简单的ASP.NET程序演示程序演示摆放一个文本框,一个标签,一个按钮摆放一个文本框,一个标签,一个按钮添加按钮单击事件处理函数,在事件处添加按钮单击事件处理函数,在事件处理函数内加一行代码:理函数内加一行代码:TextBox1.Text=“HELLO!”;编译,运行编译,运行在运行的网页上查看原代码,和初始的在运行的网页上查看原代码,和初始的HTML文件比较一下文件比较一下代码分析代码分析HTML代码代码Default.aspxRow1:处理该文件所需处理该文件所需信息,其中几个关键:信息,其中几个关键:language:C#Codebehind:对应的后置文件对应的后置文件AutoEventWireup=“false”:由由IDE自动生成自动生成事件代理事件代理Inherits:继承后置文件的类继承后置文件的类代码分析代码分析HTML代码代码Row3:文档类型说明文档类型说明Row5-最后最后:都是常见的标准都是常见的标准HTML标记标记但是对于我们添加到页面的控件,其标记但是对于我们添加到页面的控件,其标记都是都是的形式。的形式。该标记表明使用的是该标记表明使用的是ASP控件控件其实我们仍然可以在页面中使用标准的其实我们仍然可以在页面中使用标准的HTML页面元素。页面元素。试一下:在工具箱中展开试一下:在工具箱中展开HTML项,拖一项,拖一个文本框到页面中,再看看代码的变化。个文本框到页面中,再看看代码的变化。代码分析代码分析HTML代码代码另外你会发现,另外你会发现,ASP控件中都有一句控件中都有一句runat=“server”,表明这些控件是在服务器端执,表明这些控件是在服务器端执行的。行的。实际上,每一个实际上,每一个ASP.NET控件都对应一个控件都对应一个HTML元素(控件),具体对应什么类型的元素(控件),具体对应什么类型的控件取决于浏览器和控件取决于浏览器和web控件参数的设置控件参数的设置当服务器返回页面到客户端时,发送回来的当服务器返回页面到客户端时,发送回来的都是都是HTML元素。元素。代码分析代码分析后置代码后置代码名字空间名字空间System.Web:管理客户请求和服务器响应管理客户请求和服务器响应的类的类System.Web.UI:创建创建web应用和控件的所应用和控件的所需的类需的类System.Web.UI.WebControls:web控件控件System.Web.UI.HtmlControls:HTML控件控件代码分析代码分析后置代码后置代码执行过程执行过程首先发生首先发生init事件,调用事件,调用OnInit方法方法OnInit方法调用方法调用InitializeComponent方法对方法对组件进行初始化组件进行初始化然后发生然后发生Load事件,调用事件,调用Page_Load方法,方法,可在该方法中添加代码,处理装入可在该方法中添加代码,处理装入Form时时执行的操作执行的操作注意注意:每次加载此页都会执行该代码,如果:每次加载此页都会执行该代码,如果想只在第一次加载时执行代码,需要添加控想只在第一次加载时执行代码,需要添加控制代码(后面介绍)制代码(后面介绍)ASP.NET应用程序和网站的区别应用程序和网站的区别新建一个网站项目的时候,有两个选择:新建一个网站项目的时候,有两个选择:新建网站新建网站和和新建新建AWeb应用程序应用程序。它们都可以用来开发它们都可以用来开发Web应用,但是开发应用,但是开发时及今后的维护方面有一些差异。时及今后的维护方面有一些差异。简单看,小型应用用网站方式比较简单,简单看,小型应用用网站方式比较简单,大型项目用大型项目用Web应用程序较好。应用程序较好。新建网站新建网站:完成后可直接发布,发布时生:完成后可直接发布,发布时生成的成的DLL文件名是随机的,不与原文件直文件名是随机的,不与原文件直接对应。使用增量编译模式,文件被修改接对应。使用增量编译模式,文件被修改后,只有这部分才会被增量编译进去后,只有这部分才会被增量编译进去。ASP.NET应用程序和网站的区别应用程序和网站的区别Web应用程序应用程序:有重新生成和发布两项有重新生成和发布两项可在其中添加多个项目,便于团队合作可在其中添加多个项目,便于团队合作开发模式和开发模式和Windows应用程序类似应用程序类似发布前需要编译发布前需要编译后台代码有任何修改,都要重新进行编后台代码有任何修改,都要重新进行编译,维护较麻烦。译,维护较麻烦。5.Web控件与控件与HTML控件控件Web控件控件是是System.Web.UI.WebControls名名称空间中定义的服务器控件,它们通常在称空间中定义的服务器控件,它们通常在标签中添加标签中添加例如:例如:HTML控件控件在在System.Web.UI.HtmlControls名称空间中,它们在常规的名称空间中,它们在常规的HTML标签中添标签中添加。例如:加。例如:HTML控件默认是控件默认是客户端运行客户端运行。如果为它也加一句如果为它也加一句runat=“server”会怎样?会怎样?可以看看自动生成的代码是否有变化?可以看看自动生成的代码是否有变化?Web与与HTML控件的差异控件的差异HTML 控控件件:不不具具备备任任何何抽抽象象能能力力。每每种种控件与控件与 HTML 标记都是一一对应的。标记都是一一对应的。Web控控件件:运运行行在在Web服服务务器器上上,允允许许通通过过编编程程控控制制这这些些网网页页元元素素,故故它它的的目目标标模模型型不不受受 HTML语法的限制。语法的限制。Web控件创建了更高级别的抽象,可以没有控件创建了更高级别的抽象,可以没有任何对应的任何对应的HTML标记(如标记(如Calendar和和DataGrid控件)。控件)。Web控件还能够在适当控件还能够在适当的场合起到合并功能的作用(例如用一个的场合起到合并功能的作用(例如用一个TextBox控件来代替多个控件来代替多个HTML标记)标记)(1)抽象能力抽象能力(2)对对目标浏览器的适应能力目标浏览器的适应能力HTML控控件件不不会会自自动动检检测测请请求求页页面面的的浏浏览览器器的的能能力力,也也不不会会修修改改它它们们提提供供的的HTML。在在使使用用这这组组控控件件时时,你你要要负负责责确确保保页页面面能能同同时时在高级和低级浏览器上工作。在高级和低级浏览器上工作。Web控件能够自动对它们生成的结果进行调控件能够自动对它们生成的结果进行调整,以确保输出结果在高级浏览器和低级浏整,以确保输出结果在高级浏览器和低级浏览器上的工作同样出色。览器上的工作同样出色。Web控件还能够针控件还能够针对不同的浏览器提供不同的行为,从而充分对不同的浏览器提供不同的行为,从而充分发挥浏览器的潜力。发挥浏览器的潜力。(3)程序员对生成的程序员对生成的HTML的控制能力的控制能力HTML控控件件允允许许您您完完全全控控制制所所显显示示的的内内容以及发送到客户机浏览器的内容。容以及发送到客户机浏览器的内容。Web控件提供了更为丰富的对象模型,控件提供了更为丰富的对象模型,以及适应多种浏览器的能力。因而,它以及适应多种浏览器的能力。因而,它们没有提供对输出结果的相同程度的控们没有提供对输出结果的相同程度的控制能力。制能力。在开发在开发Web应用程序时,可以根据这两组应用程序时,可以根据这两组控件的能力以及您的需求来从中进行选择。控件的能力以及您的需求来从中进行选择。还可以选择在同一页上混合使用这两组控件还可以选择在同一页上混合使用这两组控件一般来说,一般来说,Web控件功能更强大,而控件功能更强大,而HTML控件效率更好。控件效率更好。同时提供具有一些重复功能的同时提供具有一些重复功能的HTML控件控件和和Web控件是有必要的,它给了程序员更控件是有必要的,它给了程序员更多的选择余地。多的选择余地。在初学阶段,我们对在初学阶段,我们对 HTML又不太熟,尽又不太熟,尽量用量用 Web控件,因为它与控件,因为它与 WINDOWS窗窗体编程的感觉更一致一些。体编程的感觉更一致一些。6、ASP.NET编程的一些重要问题编程的一些重要问题网络协议网络协议:可分为面向连接的和非连接的:可分为面向连接的和非连接的面面向向连连接接的的网网络络(如如电电话话)是是点点到到点点通通信信最最理理想想的的方式方式优优点点:建建立立连连接接后后,可可以以保保持持带带宽宽,而而且且安安全全性性好好。缺点是它的复杂性,成本高昂。缺点是它的复杂性,成本高昂。非面向连接非面向连接的网络(如信件)的代表是因特网的网络(如信件)的代表是因特网因因特特网网是是构构建建在在TCP/IP协协议议上上的的,而而HTTP是是基基于于TCP/IP的应用层协议,是的应用层协议,是非连接非连接的。的。优点:成本低廉,其规模的可扩展性。优点:成本低廉,其规模的可扩展性。缺点:不能保证信息安全送达缺点:不能保证信息安全送达6.1保持页面状态保持页面状态 HTTP协议的固有特性,给协议的固有特性,给B/S(浏览器浏览器/服服务器)结构的务器)结构的WEB编程带来很大麻烦编程带来很大麻烦页面页面无法保持自已的状态无法保持自已的状态。既每当同一个页。既每当同一个页面往返一次服务器(比如刷新页面、提交表面往返一次服务器(比如刷新页面、提交表单、激发事件),服务器不记得同一页面的单、激发事件),服务器不记得同一页面的状态变化。状态变化。当你输入信息并当你输入信息并“提交提交”,输入信息通过表,输入信息通过表单的单的 GET或或 POST方式传到服务器。方式传到服务器。当提交完返回这个页面时,输入的信息看不当提交完返回这个页面时,输入的信息看不到了,因为同一个页面往返了一次服务器,到了,因为同一个页面往返了一次服务器,服务器不记得同一页面的两次状态变化。服务器不记得同一页面的两次状态变化。解决的办法解决的办法过去通过写过去通过写Script代码去维持页面状态变化,代码去维持页面状态变化,利用利用Cookies,ASP的的Session对象等也可以对象等也可以实现,但很麻烦。实现,但很麻烦。如果一个页面有数十个状态要保持,工作量如果一个页面有数十个状态要保持,工作量很大。很大。ASP.NET用简单的方法解决了这个问题,但用简单的方法解决了这个问题,但效率倍受质疑。效率倍受质疑。WiewState对对象象是是ASP.NET中用来保存中用来保存WEB控件回传时控件回传时状态值的一种机制。状态值的一种机制。在在WEB窗体的设置为窗体的设置为runat=“server”时时,这个窗体会被附加一个这个窗体会被附加一个隐藏的隐藏的属性属性_VIEWSTATE在浏览器上看到的表单隐藏域在浏览器上看到的表单隐藏域hidden就是就是WEB窗体在客户端窗体在客户端HTML的映射。的映射。_VIEWSTATE中存放了控件在中存放了控件在ViewState中的状态值。中的状态值。ViewState是是类Control中的一个域,其他控中的一个域,其他控件通件通过继承承Control来来获得得ViewState功能。功能。它的它的类型是型是system.Web.UI.StateBag,一个一个名称名称/值的的对象集合。象集合。当当请求某个求某个页面面时,ASP.NET把所有控件的把所有控件的状状态序列化成一个字符串,然后做序列化成一个字符串,然后做为窗体的窗体的隐藏属性送到客藏属性送到客户端。端。当客当客户端把端把页面回面回传时,ASP.NET分析回分析回传的窗体属性,并的窗体属性,并赋给控件控件对应的的值。使用使用ViewState的条件的条件这些条件都是系些条件都是系统默默认的:的:要使用要使用ViewState,在在ASPX的的HTML视图中必须有一个服务器端窗体标记视图中必须有一个服务器端窗体标记。Page的的EnableViewState属性值为属性值为true控件的控件的EnableViewState属性值为属性值为true应注意的问题应注意的问题使用使用WiewState保持页面状态不需你写代保持页面状态不需你写代码。但是码。但是WiewState使用不当会造成严重使用不当会造成严重的性能问题的性能问题在复杂的页面里,尤其是涉及到数据库访在复杂的页面里,尤其是涉及到数据库访问时,问时,WiewState隐藏域隐藏域hidden的数据可的数据可能会有几十能会有几十K甚至上百甚至上百K,这么大的数据量,这么大的数据量往返传递,肯定会造成性能问题。往返传递,肯定会造成性能问题。对不需要保持状态的控件,应将对不需要保持状态的控件,应将EnableViewState属性值设为属性值设为false。6.2页面的页面的post与与get提交方式提交方式有有post与与get两种方式将客户端提交到服务器两种方式将客户端提交到服务器理论上说,理论上说,GET是从服务器上请求数据,是从服务器上请求数据,POST是发送数据到服务器。是发送数据到服务器。GET方法是把数据参数队列加到一个方法是把数据参数队列加到一个URL上,上,值和表单是一一对应的,但有大小限制。值和表单是一一对应的,但有大小限制。因为这一队列在因为这一队列在URL里,这样参数就能看到,里,这样参数就能看到,可以被记录下来或更改。可以被记录下来或更改。POST方法可以传递大量数据到服务器,用户方法可以传递大量数据到服务器,用户在浏览器端看不到这一过程。在浏览器端看不到这一过程。应注意的问题应注意的问题区别:区别:Post允许传输大量数据,而允许传输大量数据,而Get传送的数据传送的数据量会受到限制,但效率却比量会受到限制,但效率却比Post方法好。方法好。建议:建议:1、get方式的安全性较方式的安全性较Post方式差,包含机方式差,包含机密信息的话,建议用密信息的话,建议用Post数据提交方式;数据提交方式;2、做数据查询时,可用、做数据查询时,可用Get方式;而做数方式;而做数据添加、修改或删除时,建议用据添加、修改或删除时,建议用Post方式;方式;Form默认的提交方式为默认的提交方式为GET,通过属性,通过属性method=“post”可以进行修改。可以进行修改。6.3页面跳转页面跳转WEB页页面面最最大大特特点点是是有有超超连连接接,可可以以从从一个网页转到另一个网页。一个网页转到另一个网页。ASP.NET实实现现超超连连接接的的方方法法很很多多。常常用用的的有三种:有三种:1、使用、使用HyperLink控件控件2、使用按钮的、使用按钮的PostBackUrl属性属性3、使用、使用Response对象的对象的Redirect方法方法。HyperLink控件控件超链接,最简单的跳转方式超链接,最简单的跳转方式只要将其只要将其NavigateUrl属性设为目标页面属性设为目标页面即可。即可。例如:例如:NavigateUrl=/WebForm1.aspx缺点:目标页面无法获取源页面的数据缺点:目标页面无法获取源页面的数据使用按钮使用按钮PostBackUrl属性属性当为一个按钮设置当为一个按钮设置PostBackUrl属性,将属性,将其指向目标页面,点击按钮时就会跳转其指向目标页面,点击按钮时就会跳转该方法目标页面通过该方法目标页面通过Page.PreviousPage对对象,象,可以获得源页面控件可以获得源页面控件目标页面通过目标页面通过PreviousPage属性获取数据属性获取数据时,需要在页面(源)添加代码:时,需要在页面(源)添加代码:Redirect方法方法Response对象的对象的Redirect方法也是常用的方法也是常用的简单定向手段。简单定向手段。当当Web服务器接到一个重定向请求后,会服务器接到一个重定向请求后,会将一个响应头送给客户端,这将导致客户将一个响应头送给客户端,这将导致客户端发送一个新的请求到服务器。端发送一个新的请求到服务器。换句话说,一个重定向请求实际上是两个换句话说,一个重定向请求实际上是两个请求响应:一个是最初的请求响应,另一请求响应:一个是最初的请求响应,另一个是新的重定向请求响应。个是新的重定向请求响应。Redirect方法方法要注意的是该方法是一个要注意的是该方法是一个GET请求,这就意请求,这就意味着我们不能从源页面中通过重定向命令提味着我们不能从源页面中通过重定向命令提交数据。交数据。但是我们可以在重定向中使用查询字符串来但是我们可以在重定向中使用查询字符串来传递数据。例如下面代码:传递数据。例如下面代码:Response.Redirect(menu.aspx?userName=+UserName.Text);补充例题:补充例题:WebTest,演示页面跳转及传参,演示页面跳转及传参6.4几个重要的内置对象几个重要的内置对象从初始的从初始的ASP开始,就内置了一些对开始,就内置了一些对象,主要有:象,主要有:Response、Request、Session、Application、WiewState等等这些对象在这些对象在ASP.NET中都保留下来了,中都保留下来了,这些对象都是内置对象,不需实例化这些对象都是内置对象,不需实例化(new操作符)就可以使用。操作符)就可以使用。书中书中P300表表13-4给出了这些对象的简给出了这些对象的简单说明。单说明。6.4.1Response对象对象u用于向客户端发送信息,常用方法有:用于向客户端发送信息,常用方法有:1)Response.Write方法:用于将字符、字符方法:用于将字符、字符串、字符数组写入串、字符数组写入HTTP输出内容流。输出内容流。例如:例如:Response.Write(thisisatest.);2)Response.WriteFile方法:用于将指定的方法:用于将指定的文件写入文件写入HTTP输出内容流。输出内容流。例如:例如:Response.WriteFile(test.txt);3)Response.Redirect方法:用于将客户端重方法:用于将客户端重定向到新的定向到新的URL。例如:例如:Response.Redirect(test.aspx);6.4.2Request对象对象u获取请求页面的获取请求页面的HttpRequest对象。该对对象。该对象使象使服务器能获取客户端在服务器能获取客户端在Web请求期请求期间发送的间发送的HTTP信息。信息。例如:例如:Request.Browser.Platform:客户端使用的客户端使用的操作系统操作系统Request.Browser.Type:客户端使用的浏览客户端使用的浏览器类型器类型Request.UserHostAddress:客户端客户端IP地址地址6.4.3Application对象对象u是一个是一个应用程序级应用程序级的对象,它包含的数据可以的对象,它包含的数据可以在整个在整个Web站点中被站点中被所有用户使用所有用户使用,在网站,在网站运行期间持久地保存数据。运行期间持久地保存数据。u可以利用可以利用Application对象可以定义类似于所对象可以定义类似于所有用户公用的全局变量。有用户公用的全局变量。对对Application对象进行操作时,需要先进行锁对象进行操作时,需要先进行锁定,操作完成后再解除锁定。例如定,操作完成后再解除锁定。例如:Application.Lock();Applicationcounter=(int)Applicationcounter+1;Application.UnLock();6.4.4Session对象对象u用来区分不同的浏览器客户。用来区分不同的浏览器客户。u当不同的浏览器访问服务器时,服务器会分别当不同的浏览器访问服务器时,服务器会分别为其分配一段内存空间用于保存不同用户的数为其分配一段内存空间用于保存不同用户的数据信息据信息,即即每一个客户都有自己的每一个客户都有自己的Session。u定义与使用定义与使用Session的方法的方法:Sessiononline=true;Sessioncounter=(int)Sessioncounter+1;6.5Page事件处理函数事件处理函数Page类类相相当当于于WINDOWS窗窗体体的的Form类类,是是WEB页面的基类,它的主要事件有:页面的基类,它的主要事件有:Page_Init:页面初始化引发的事件页面初始化引发的事件Page_Load:加载页面时引发的事件加载页面时引发的事件Page_UnLoad:页面从内存中卸载时引发页面从内存中卸载时引发Page_Init和和Page_Load事事件件区区别别在在于于:只只有有后者才能完全加载控件,绑定数据。后者才能完全加载控件,绑定数据。Page_Load事件事件每当建立一个每当建立一个ASP.NETWEB程序,程序,IDE都都会自动写一个会自动写一个Page_Load事件处理函数:事件处理函数:protectedvoidPage_Load(objectsender,System.EventArgse)把把每每次次加加载载页页面面时时都都需需要要执执行行的的一一些些网网页页的的初初始始化化代代码码放放在在这这里里是是最最合合适适的的。如如一一些些控控件件的的数据绑定。数据绑定。但是,但是,每次每次当页面被发送回服务器,当页面被发送回服务器,Page就就会被会被重新加载重新加载,启动,启动Page_Load事件,执行事件,执行Page_Load事件处理程序中的所有代码。事件处理程序中的所有代码。如果希望只在网页如果希望只在网页第一次第一次加载时执行一些代加载时执行一些代码,我们可以利用码,我们可以利用Page类的类的IsPostBack属属性来完成这一功能。性来完成这一功能。在网页在网页第一次第一次加载时,该属性的值是加载时,该属性的值是false。如果网页因如果网页因回送回送而被重新加载,而被重新加载,IsPostBack属性的值为属性的值为true。可在可在Page_Load用以下初始化页面的代码:用以下初始化页面的代码:if(!Page.IsPostBack).6.6控件的事件控件的事件WEB控控件件的的属属性性窗窗口口有有闪闪电电(事事件件)图图标标,可可以以在在此此给给WEB控控件件建建一一个个事事件件处处理函数。理函数。但是但是HTML控件控件的属性窗口没有闪电的属性窗口没有闪电(事件)图标,把它设为服务器执行,则(事件)图标,把它设为服务器执行,则双击控件,可建一个双击控件,可建一个onclick事件处理函事件处理函数,可在此方法中写数,可在此方法中写javascript。此时实际是在客户端执行的。此时实际是在客户端执行的。每当点击每当点击ASP.NET网页上的的网页上的的Web控件时,控件时,窗体就会被发送到服务器上。窗体就会被发送到服务器上。如果控件的如果控件的AutoPostBack属性被设置为属性被设置为true,那么当该控件的状态被改变后,也会使表那么当该控件的状态被改变后,也会使表单发送回服务器。单发送回服务器。如果这个属性被设置成如果这个属性被设置成false,那么点击后不那么点击后不会立刻将变化传给服务器处理。会立刻将变化传给服务器处理。编写编写WEB应用程序应注意应用程序应注意:查询数据库返回的结果集应尽可能小;查询数据库返回的结果集应尽可能小;WiewState要尽可能少;要尽可能少;尽量减少往返服务器的次数,尽量不用事

    注意事项

    本文((精品)第三篇Web编程.ppt)为本站会员(gsy****95)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开