ASP.NET 技术外文翻译资料

 2022-12-05 16:23:37

ASP.NET Technique

1. Building ASP.NET Pages

ASP.NET and the .NET Framework

ASP.NET is part of Microsofts overall .NET framework, which contains a vast set of programming classes designed to satisfy any conceivable programming need. In the following two sections, you learn how ASP.NET fits within the .NET framework, and you learn about the languages you can use in your ASP.NET pages.

The .NET Framework Class Library

Imagine that you are Microsoft. Imagine that you have to support multiple programming languages—such as Visual Basic, JScript, and C . A great deal of the functionality of these programming languages overlaps. For example, for each language,you would have to include methods for accessing the file system, working with databases,and manipulating strings.

Furthermore, these languages contain similar programming constructs. Every language, for example, can represent loops and conditionals. Even though the syntax of a conditional written in Visual Basic differs from the syntax of a conditional written in C ,the programming function is the same.

Finally, most programming languages have similar variable data types. In most languages, you have some means of representing strings and integers, for example. The maximum and minimum size of an integer might depend on the language, but the basic data type is the same.

Maintaining all this functionality for multiple languages requires a lot of work. Why keep reinventing the wheel? Wouldnt it be easier to create all this functionality once and use it for every language?

The .NET Framework Class Library does exactly that. It consists of a vast set of classes designed to satisfy any conceivable programming need. For example, the .NET framework contains classes for handling database access, working with the file system,manipulating text, and generating graphics. In addition, it contains more specialized classes for performing tasks such as working with regular expressions and handling network protocols.

The .NET framework, furthermore, contains classes that represent all the basic variable data types such as strings, integers, bytes, characters, and arrays.

Most importantly, for purposes of this book, the .NET Framework Class Library contains classes for building ASP.NET pages. You need to understand, however, that you can access any of the .NET framework classes when you are building your ASP.NET pages.

Understanding Namespaces

As you might guess, the .NET framework is huge. It contains thousands of classes(over 3,400). Fortunately, the classes are not simply jumbled together. The classes of the .NET framework are organized into a hierarchy of namespaces.

ASP Classic Note

In previous versions of Active Server Pages, you had access to only five standard classes (the Response, Request, Session, Application, and Server objects). ASP.NET, in contrast, provides you with access to over 3,400 classes!

A namespace is a logical grouping of classes. For example, all the classes that relate to working with the file system are gathered together into the System.IO namespace.

The namespaces are organized into a hierarchy (a logical tree). At the root of the tree is the System namespace. This namespace contains all the classes for the base data types,such as strings and arrays. It also contains classes for working with random numbers and dates and times.

You can uniquely identify any class in the .NET framework by using the full namespace of the class. For example, to uniquely refer to the class that represents a file system file (the File class), you would use the following:

System.IO.File

System.IO refers to the namespace, and File refers to the particular class.

NOTE

You can view all the namespaces of the standard classes in the .NET Framework

Class Library by viewing the Reference Documentation for the .NET Framework.

Standard ASP.NET Namespaces

The classes contained in a select number of namespaces are available in your ASP.NET pages by default. (You must explicitly import other namespaces.) These default namespaces contain classes that you use most often in your ASP.NET applications:

System— Contains all the base data types and other useful classes such as those related to generating random numbers and working with dates and times.

System.Collections— Contains classes for working with standard collection types such as hash tables, and array lists.

System.Collections.Specialized— Contains classes that represent specialized collections such as linked lists and string collections.

System.Configuration— Contains classes for working with configuration files(Web.config files).

System.Text— Contains classes for encoding, decoding, and manipulating the contents of strings.

System.Text.RegularExpressions— Contains classes for performing regular expression match and replace operations.

System.Web— Contains the basic classes for working with the World Wide Web,including classes for representing browser requests and server responses.

System.Web.Caching— Contains classes used for caching the content of pages and classes for performing custom caching operations.

System.Web.Security— Contains classes for implementing authentication and authorization such as Forms and Passport authentication.

System.Web.SessionState— Contains classes for implementing session state.

System.Web.UI— Contains the basic classes used in building the user interface of ASP.NET pages.

System.Web.UI.HTMLControls— Contains the classes for the HTML controls.

System.Web.UI.WebControls— Contains the classes for the Web controls.

.NET Framework-Compatible Languages

For purposes of this book, you will write the application logic for your ASP.NET pages using Visual Basic as your programming language. It is the default language for ASP.NET

剩余内容已隐藏,支付完成后下载完整资料


ASP.NET 技术

1.构建 ASP.NET 页面

ASP.NET 和ASP.NET结构

ASP.NET 是微软.NET framework整体的一部分, 它包含一组大量的编程用的来满足各种编程需要。 在下列的二个部分中, 你如何学会 ASP.NET 很适合的放在.NET framework, 和学会能在你的 ASP.NET 页面中使用语言。

.NET类库

假想你是微软的开发者。假想你必须支持大量的编程语言-比如 Visual Basic 、C# 和C . 这些编程语言的很多功能具有重叠性。 举例来说,对于每一种语言,你必须包括存取文件系统、与数据库协同工作和操作字符串的方法。

此外,这些语言包含相似的编程构造。 每种语言,举例来说都能够使用循环语句和条件语句。 即使用 Visual Basic 写的条件语句的语法不与用C 写的不一样,程序的功能也是相同的。

最后,大多数的编程语言有相似的数据变量类型。 对于大多数的语言,你有设定字符串类型和整型数据类型的方法。举例来说, 整型数据最大值和最小值可能依赖语言的种类,但是基本的数据类型是相同的。

对于多种语言来说维持这一功能需要很大的工作量。 为什么继续再创模板? 对所有的语言创建这种功能一次,然后把这个功能用在每一种语言中岂不是更容易。.NET类库不完全是那样。 它含有大量的满足编程需要的类。举例来说:.NET类库包含处理数据库访问的类和文件协同工作,操作文本和生成图像。 除此之外,它包含更多特殊的类用在正则表达式和处理Web协议。此外包含支持所有的基本变量数据类型的类。比如:字符串、整型、字节型、字符型和数组。最重要地, 写这一本书的目的, .NET类库包含构建的 ASP.NET 页面的类。然而你需要了解当你构建.NET页面的时候能够访问.NET framework 的任意类。理解命名空间正如你猜测的, .NET framework是庞大的。 它包含数以千计的类(超过 3,400) 。幸运地,类不是简单的堆在一起。.NET framework的类被组织成有层次结构的命名空间。

ASP Classic Note

在先前的ASP中,你仅仅能够访问五个标准类。相比之下 ASP.NET 提供超过3,400个类!一个命名空间包含一组逻辑的类。举例来说,涉及到与文件系统协同工作的类就集合在System.IO 命名空间中。命名空间被组织成一个层次结构(一棵逻辑树)。树根就是SYSTEM 命名空间。这个命名空间包含基本的数据类型的所有的类,例如:字符串、数组,还包含提供随机数字和日期的类。

你通过完整的类的命名空间能唯一识别任何的类在.NET framework中的位置。

举例来说,指定找到一个the File class 类,按如下操:

System.IO.文件

System.IO指命名空间,而文件指定特定的类。

提示:

你能够浏览.NET Framework所有的标准类的命名空间。通过.NET Framework 的

参考文档可以浏览类库。

标准的 ASP.NET 命名空间

在默认情况下,在你的ASP.NET页面中,类被包含在一个选定的命名空间中这些默认的命名空间使你在ASP.NET中最常用到的。

System 命名空间- 包含所有的基本数据类型和其他有用的类。例如,那些关于

产生随机数字和日期的类。

System.Collections命名空间- 包含的类是标准的集合类。例如,哈希表、数组列

表。

System.Collections.Specialized 命名空间- 包含特殊的集合类。例如:连接列表

和字符串集合。

System.Configuration 命名空间- 包括Web.config files类。

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 Framework -可用的语言

这一本书的目的, 你将会为以 Visual Basic 作为你的编程语言来完成你的ASP.NET 页写程序编写。 它是 ASP.NET 页面的默认语言。 虽然你在这一本书中一直用 Visual Basic, 但是,你也需要了解用其它的支持公共语言库的语言创建ASP.NET页面。除此之外,这包括 C#, JScript.NET和C 。

提示:

本书所含的光碟包含 C# 源代码。

除微软之外的公司产生的几十个其他的语言已经能够和.NET framework兼容。

这些其他的语言的一些例子包括 Python、 SmallTalk 、 Eiffel和 COBOL。这就意味着假如你真的想, 你可以使用 COBOL 写 ASP.NET 页面。

不管你使用什么语言开发 ASP.NET 页面。 你需要明白ASP.NET在执行前必须编译,这就意味着ASP.NET执行速度非常快。

你第一次请求 ASP.NET 页面, 页面被编译成一个.NET类, 这个类文件被保存在一个特殊的目录下这个目录的名字叫Temporary ASP.NET Files。 对于一个ASP.NET页面一个通信类文件出现在Temporary ASP.NET Files目录下。 以后不管任何时候你请求那个同样的ASP.NET页面,那个通信类文件就会执行。

当 ASP.NET 页面被编译的时候。它没被直接地被编译成机器码而是被编译成了一个中间语言名字叫 (MSIL)所有.NET可用的语言都被编译成这种中间语言。

一个ASP.NET 页面不会被编译成本地机器码直到它被一个浏览器访问,在那个时间点包含在Temporary ASP.NET Files目录下的类文件用JIT编译器编译并且执行。

这些迷惑的方面体现在整个过程都在后台运行。 你必须要做的是用资源代码为你的ASP.NET页面创建一个文本文件。.NET framework 为你处理完转换它为编译码。

典型ASP提示

VBScript 怎么样呢? 在 ASP.NET 之前,BScript 是开发动态页面最流行的语言。

ASP.NET 不支持VBScript,且这是好消息。 Visual Basic 是一个 VBScript

的超集,意味着 Visual Basic 相对于 VBScript有更多的功能。 因此, 你用 VisualBasic 有更丰富的函数和语句供你使用。

此外,像 VBScript Visual Basic 是一种被编译的语言。 这意味着如果你使用 Visual Basic 重写相同的 VBScript代码感觉会更容易一些。

假如你过去只用VBScript而不用 Visual Basic,不用担心。 因为 VBScript 如此接近 Visual Basic, 你将会发现在这二种语言之间的转变是很容易的。

提示:

在.NET framework中,软包括一个名叫 IL Disassembler的有趣的工具。在临时的ASP.NET文件目录中你能使用这个工具查看没有装配的ASP.NET 类的代码。 它列出了类的所有方法和属性使你能够浏览中间代码。

正如在这章讨论的这个工具也可以用于操作ASP.NET控件。 举例来说,能使用 IL Disassembler 浏 览 TextBox 控 件 的 中 间 代 码 。 ( 位 于 在 一 个 叫 做System.Web.dll 的文件中)。

介绍 ASP.NET 控件

ASP.NET 控件为你的Web应用程序提供动态和交互的用户接口。这些控件能够使你的网站的使用者看见和交互。 举例来说,能使用控件建立 HTML 窗体元素交互式日历, 而且可以滚动标题广告。

ASP.NET 控件和 HTML 内容共存。 典型地,用通常的 HTML 创建你的网页的静态区域和用 ASP.NET 控件创建网页的动态区域。

了解 ASP.NET 控件是怎么工作的,最好的方法是看一个简单的Web应用窗体页面。

添加ASP.NET页面的代码

第二个难点就是ASP.NET页面的代码,他是确切的页面的程序代码,在你添加的程序用户处理控件也页面事件。

如果一个使用者单击 HTML窗体中的Button按钮, 举例来说,那个按钮就会响应一个事件 (单击事件) 。 典型地,你想添加代码响应这个事件到页面中。 举例来说:当某人单击Button按钮控件的时候, 你可以保存窗体数据到一个文件或者数据库。控件不是唯一的能相应事件的事物。 当它被请求的时候一个ASP.NET 页面每次都能够响应几个事件。举例来说:每当你请求一个页面,页面的初始化事件就会被触发。 每当初始化事件发生的时候,你能够添加代码到页面中来执行。

用 Web 服务器控件创建窗体

构建灵活窗体。你用几个基本Web控件来代替标准的 HTML 窗体元素,例如 radio buttons 、textboxes, and list boxes. 你能够用这些控件为你的Web应用程序在你的ASP.NET页面中创建用户界面。 下面的部分为这些Web控件提供了详细的提纲和程序源代码。

控制页面浏览

在下列的部分中你学会如何控制一个用户从一个ASP.NET页面转到另一个页面。首先,你学会怎么把一个HTML窗体链接到另一个页面来获取信息。 下一步,你学会用Redirect()方法自动让一个用户浏览一个新的页面。 最后,你学会用超级链接控件怎么把页面连在一起。

用验证控件做页面验证

使用客户端验证。传统地,增加验证到他们的页面中时,他们会面临一个严峻的选择。 你可以添加窗体页面验证规则到你的服务器端代码。或者是添加验证规则到你的客户端代码。

写验证代码到客户端代码中的优势能够及时反馈到你的用户。 举例来说:一个使用者忽略在一个要求检验的字段中输入一个值,你能够及时的显示一个错误信息而不需要返回到服务器端解决。

人们喜欢客户端的验证。 它看起来很棒而且产生一种比较好的效果。 然而问题是它不与所有的浏览器兼容。 不是所有的浏览器支持 JavaScript、不同版本的浏览器的不同版本支持 JavaScript,以客户端验证没有保障。

由于这个原因,多开发者在过去决定添加自定义验证到服务器端。因为服务器端代码能够和任何浏览器协同工作。就这样的做法更有安全的保障。

幸运地,正如在章节讨论的这些验证控件不会强迫你做困难的选择。 这些验证控件会自动地产生客户端代码和服务器端代码。 如果一个浏览器有能力支持javaScript 客户端的验证脚本将会自动返回到浏览器。 如果一个浏览器不支持JavaScript那个验证规则会自动在服务器端代码中执行。

然而你需要注意的是,客户端的验证仅仅能够工作在IE4.0或更高的版本。 尤其,

正如这一章讨论的客户端脚本不可能在任意本本的浏览器中运行。

控制字段: RequiredFieldValidator 控件

你用这个控件来检查在一个Web窗体中是否为空, 典型地,你和 TextBox 控件一起使用这个控件。 然而,这个控件也可以用在其他的输入型控件、例如:

RadioButtonList .控件 。

验证表达式: RegularExpressionValidator 控件

你能使用 RegularExpressionValidator 控件来验证输入的值是否和定义的正则表达式相匹配。 例如,你能使用这控件来检查一个用户是否输入一个合法的电子邮件、地址、电话号码、用户名或密码。怎样用一个正则表达式来完成这些验证任务将会在

下面的例子中一一列出。

比较值: CompareValidator 控件

这个CompareValidator 控件用于比较一个输入的数据和另外一个值是否相同。 另外一个值可能是固定值。 例如, 一个特定的数字或者是输入到另一个控件中的一个值。

总结错误: ValidationSummary 控件。

假想一个页面有50个字段假如你仅仅用上部分讨论的那些验证控件来显示错误看见一个错误在页面中将是很难的。 例如:你可能需要滚动到第48个页面字段来找到这个错误信息。

幸好,微软除了包含上面提到的控件还包括 ValidationSummary 控件。 你能用这控件综合所有的错误信息在一个页面的上端或者你想要的任何一个地方。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[25289],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版