ASP.NET技术_第1页
ASP.NET技术_第2页
ASP.NET技术_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

ASP.NET技术1.构建 ASP.NET 网页ASP.NET 和.NET 框架ASP.NET 是微软的整体的.NET 框架,包含一整套庞大的编程类,旨在满足任何可以想象的编程需要的一部分。在下面的两个章节中,学会 ASP.NET 如何很适合的放在.NET 框架内和学会能在 ASP.NET 页中使用的语言。.NET 框架类库想象你是微软。想象一下,你必须支持多种编程语言 如 Visual Basic、 JScript 和 c + +。大量的这些编程语言的功能重叠。例如,为每种语言,你将必须包括访问文件系统、 数据库、 使用和操作字符串的方法。此外,这些语言中包含类似的编程构造。每一种语言,例如,可以表示循环和条件。虽然 Visual Basic 编写的一个有条件的语法与 c + + 编写一个有条件的语法不同,编程功能是相同的。最后,大多数编程语言都有类似的变量数据类型。在大多数语言中,你有一些方法来表示字符串和整数,例如。一个整数的最大值和最小大小可能取决于语言,但基本数据类型是相同。维护多个语言的所有此功能需要大量的工作。为什么保持重新发明轮子呢?不是很容易一次创建所有此功能并使用它的每一种语言?.NET 框架类库效用正是如此。它包括一整套庞大的类,旨在满足任何可以想象的编程需要。例如,.NET 框架包含用于处理数据库访问、 与文件系统的工作,操纵文本,和图形生成类。此外,它包含更多的专业类为执行任务,如使用正则表达式和处理网络协议。此外,.NET 框架,包含表示所有基本变量的数据类型,如字符串、 整数、 字节、 字符和数组的类。最重要的是,对于这本书的目的,.NET 框架类库包含用于生成 ASP.NET 页的类。你需要了解,然而,当你正在构建 ASP.NET 页面而可以访问任何.NET 框架类。了解命名空间你可能已经猜到,.NET 框架是巨大的。它包含上千个类 (超过 3,400)。幸运的是,类是不只被混在一起。.NET 框架的类被组织成一个层次结构的命名空间。ASP 经典注你在以前版本的动态服务器网页,对仅有五个标准类 (响应、 请求、 会话、 应用和服务器对象) 的访问。ASP.NET 中,与此相反的是,为您提供对超过 3,400 类的访问 !命名空间是类的逻辑分组。例如,与工作与文件系统相关的所有类都聚集在一起到 System.IO 命名空间。命名空间被组织成一个层次结构 (逻辑树)。在树的根是 System 命名空间。此命名空间包含基本数据类型,比如字符串和数组的所有类别。它还包含用于处理随机数字和日期和时间的类。通过使用类的完整命名空间,可以唯一标识的.NET 框架中的任何类。例如,若要唯一引用表示文件系统文件 (文件类) 的类,你会使用以下方法 System.IO.FileSystem.IO 命名空间中,引用和文件引用的特定类。注意:通过查看参考文档为.NET 框架,您可以查看在.NET 框架类库中的标准类的所有命名空间。标准 ASP.NET 命名空间包含大量选择的命名空间中的类,可在您默认的 ASP.NET 网页。(你必须显式导入其他命名空间。这些默认命名空间包含您最常使用在 ASP.NET 应用程序中的类 系统 包含所有基本数据类型和其他有用的类,例如那些有关生成随机数和处理日期和时间。System.Collections 包含类与标准的集合类型,如哈希表和数组列表一起工作。System.Collections.Specialized 包含类,如代表专门的收藏链接列表和字符串集合。System.Configuration 包含类用于处理配置文件 (Web.config 文件)。System.Text 包含类编码、 解码,和操纵字符串的内容。System.Text.RegularExpressions 包含类执行正则表达式匹配和替换操作。System.Web 包含用于使用万维网,包括用于表示浏览器请求和服务器响应的类的基本类。System.Web.Caching 包含类用于缓存的页和类用于执行自定义的缓存操作的内容。System.Web.Security 包含类执行身份验证和授权形式和护照等身份验证。System.Web.SessionState 包含用于实现会话状态的类。System.Web.UI 包含基本的类用于构建 ASP.NET 页的用户界面。System.Web.UI.HTMLControls 包含 HTML 控件的类。System.Web.UI.WebControls 包含 Web 控件的类。.NET 框架兼容语言为这本书的目的,您将为 ASP.NET 页使用 Visual Basic 作为您的编程语言编写的应用程序逻辑。它是的 ASP.NET 网页的默认语言。虽然在这本书中,你坚持了 Visual Basic,你也要明白你可以使用任何支持.NET 公共语言运行库的语言来创建 ASP.NET 页。开箱,这包括 JScript.NET,C#、 c + + 托管扩展。注意:这本书所附带的光盘包含 C# 版本的所有代码示例。其他数十种语言由 Microsoft 之外的其他公司创建的已使用.NET 框架。这些其他语言的一些例子包括 Python,SmallTalk,埃菲尔,COBOL。这意味着你可以如果你真的想去,编写使用 COBOL 的 ASP.NET 网页。无论您使用来开发您的 ASP.NET 网页的语言,你需要了解他们在执行之前,编译 ASP.NET 页。这意味着 ASP.NET 页可以非常快速地执行。您请求的 ASP.NET 页,第一次成.NET 类,编译页面和生成的类文件在一个专门的目录下保存在服务器上指定临时 ASP.NET 文件。为每个 ASP.NET 页,相应的类文件出现在临时 ASP.NET 文件目录中。每当您在将来请求相同的 ASP.NET 页,被执行相应的类文件。当 ASP.NET 页编译时,它是不直接编译成机器代码。相反,它被编译成中间级语言称为 Microsoft 中间语言 (MSIL)。所有。NET 兼容语言被编译成这种中间语言。ASP.NET 页面不被编译为本机代码直到它实际由浏览器请求。在这一点上,临时 ASP.NET 文件目录中包含的类文件是用.NET 框架只是在实时 (JIT) 编译器编译和执行。这整个过程的神奇在于,它会自动在后台发生的。你要做的就是创建一个文本文件与 ASP.NET 页面的源代码和.NET 框架处理转换编译后的代码为您的所有的辛勤工作。ASP 经典注VBScript 怎么样?在 ASP.NET 中之前, VBScript 是最流行的语言为开发活动服务器页面。ASP.NET 不支持 VBScript,这是个好消息。Visual Basic 是 VBScript,这意味着 Visual Basic 的 VBScript 和更多的所有功能的超集。所以,你有一组更丰富的功能和与 Visual Basic 的语句。此外,与不同的 VBScript,Visual Basic 是已编译的语言。这意味着如果您使用 Visual Basic 来改写你用 VBScript 写相同的代码,你可以得到更好的性能。如果您只使用 VBScript 和不 Visual Basic 过过去,别担心。因为 VBScript 息息相关为 Visual Basic,你会发现它容易使两种语言之间的转换。注意:Microsoft 包括名为 IL 反汇编程序 (ILDASM) 与.NET 框架非常有趣的工具。您可以使用此工具查看反汇编的代码为 ASP.NET 类中的任何临时 ASP.NET 文件目录中。它列出了所有的方法和属性的类,并使您能够查看中间级代码。此工具也适用于在这一章中讨论的所有 ASP.NET 控件。例如,可以使用 IL 反汇编程序以查看 TextBox 控件 (位于名为 System.Web.dll 的文件) 的中间级代码。介绍 ASP.NET 控件ASP.NET 控件为您的 Web 应用程序提供用户界面的动态和交互式部分。控件呈现的内容,您的 Web 站点的用户实际上看到并与交互。例如,可以使用控件来创建 HTML 表单元素、 交互式日历和旋转横幅广告。ASP.NET 控件与 HTML 内容和平共处。通常情况下,您创建的 Web 页静态区域与正常的 HTML 内容和与 ASP.NET 控件创建的动态或交互式的部分。了解 ASP.NET 控件在 HTML 页中的工作,最好来看看一个简单的 Web 窗体页。向 ASP.NET 页添加应用程序逻辑第二个构建基块的 ASP.NET 页是应用程序逻辑,是实际的编程代码页中。你将应用程序逻辑添加到一个页面来处理控件和页的事件。如果用户单击按钮控件中的 HTML 表单,例如,按钮控件引发事件 ( Click事件)。通常情况下,你想要将代码添加到页面,做了对此事件作出响应。例如,当有人单击按钮控件时,您可能想要将表单数据保存到文件或数据库。控件不是唯一的东西可以引发事件。ASP.NET 页面本身引发多个事件,每次请求。例如,每当您请求的页,该页的Load事件被触发。可以将应用程序逻辑添加到Load事件发生时执行的页。2.建筑形式与 Web 服务器控件建设智能表单您可以使用几个基本的 Web 控件来表示标准的 HTML 窗体元素,如单选按钮、 文本框和列表框。您可以在 ASP.NET 页中使用这些控件,为您的 Web 应用程序创建用户界面。以下各节提供这些 Web 控件的每个详细的概述和编程示例。控制页面导航在下面的章节中,您学习了如何控制用户如何从一个 ASP.NET 页面移动到另一个。首先,你学会如何提交到另一个页面的 HTML 表单和检索表单中的信息。接下来,您学习了如何使用Redirect()方法来自动将用户转移到新的一页。最后,您学习了如何链接和超链接控件的页面。将格式应用于控件在下面的章节中,您学习了如何使更具吸引力的 Web 窗体。首先,你看看所有的 Web 控件; 通用的格式设置属性概述他们是基控件类的格式设置属性。接下来,您学习了如何应用于 Web 控件的级联样式表样式和类。3.执行与验证控件的表单验证使用客户端验证传统上,Web 开发人员面对一个艰难的抉择,将窗体的验证逻辑添加到他们的页面时。可以将窗体的验证例程添加到您的服务器端代码,或者您可以向您的客户端代码添加验证例程。在客户端代码编写验证逻辑的优点是你可以为你的用户提供即时的反馈。例如,如果用户忽略在所需的窗体字段中输入一个值,你立刻可以直接显示错误消息,而无需回发到服务器的往返。人真的很喜欢客户端验证。它看起来很棒,并创建更好的整体用户体验。然而,问题是它不能用于所有的浏览器。并不是所有的浏览器支持 JavaScript,和不同版本的浏览器支持不同版本的 JavaScript,因此客户端的验证永远不能保证工作。为此,在过去,许多开发人员决定专门向服务器端代码添加所有的表单验证逻辑。因为服务器端代码使用任何浏览器的功能正确,这种行动方针是安全的。幸运的是,在这一章讨论的验证控件不强迫你做这个艰难的选择。验证控件自动生成客户端和服务器端的代码。如果浏览器能够支持 JavaScript,客户端验证脚本自动发送到浏览器。如果浏览器不支持 JavaScript,验证例程是自动执行的服务器端代码。你应该警告客户端验证工作只有与微软 Internet Explorer 4.0 及更高版本。尤其是,在这一章中讨论的客户端脚本不使用任何的网景浏览器的版本。RequiredFieldValidator控制的需要的字段 在 Web 窗体中使用RequiredFieldValidator来检查控件是否具有一个值。通常情况下,与一个TextBox控件使用该控件。然而,没有毛病了使用RequiredFieldValidator与其他输入的控件,如单选模式. 验证表达式 来控制您可以使用来匹配到的正则表达式表单域中输入的值。您可以使用此控件来检查是否用户输入,例如,有效的电子邮件地址、 电话号码或用户名或密码。在以下各节中提供的示例如何使用正则表达式来执行所有这些验证任务。CompareValidator控制的比较的值 CompareValidator控件执行数据输入到窗体字段和另一个值之间的比较。其他值可以是一个固定的值,如特定的号码或另一个控件中输入一个值。总结错误 控件想象一下,你有 50 的窗体字段的窗体。如果您只使用验证控件在本章前面的章节讨论了显示错误,页面上看到一条错误消息可能比较困难。例如,您可能必须向下滚动到 48 的窗体域,以查找错误消息。幸运的是,微软包含与验证控件的控件。您可以使用此控件来总结顶部的页面的所有错误或任何其他地方,你想要。4.先进控制编程使用视图状态默认情况下,几乎所有 ASP.NET 控件都保留其形式岗位之间的属性的值。例如,如果您将文本分配给一个标签控件和提交该表单,再一次呈现页面时,将保留标签控件的内容。视图状态的魅力在于,它并不取决于任何特殊的服务器或浏览器属性。尤其是,它不会依赖 cookie、 会话变量或应用程序变量。视图状态被采用一个称为自动创建在每个 Web 窗体页的视图状态的隐藏窗体字段。当明智地使用视图状态可以有对您的 Web 站点的性能显著的、 积极的影响。例如,如果您在已启用的视图状态的控件中显示数据库中的数据,你不需要返回到每次页面回发到服务器的数据库。你可以自动保存页的视图状态之间的窗体发布中的数据。显示和隐藏内容假设您创建窗体与可选节。例如,假设您正在创建在线的税单,和您想要显示或隐藏一段包含的问题,只适用于结婚税申报。或者,

温馨提示

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

评论

0/150

提交评论