【asp源码栏目提醒】:网学会员为需要asp源码的朋友们搜集整理了ASPNET是Microsoft - 培训资料相关资料,希望对各位网友有所帮助!
第1章
ASP.NET 3.5概述
ASP.NET是Microsoft .NET Framework的一部分,是一种可以在高度分布的Internet环境中简化应用程序开发的计算环境。
它提供了为建立和部署企业级Web应用程序所必需的服务。
同时,
ASP.NET为能够面向任何浏览器或设备的更安全性、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础架构。
本章以最新的.NET Framework 3.5版本为例介绍什么是.NET Framework及.NET Framework的重要组成部分、.NET Framework 3.5的新增特性、如何配置.NET Framework的开发环境、
ASP.NET的处理指令及如何使用C创建第一个
ASP.NET应用程序。
?? 了解.NET Framework 3.5的概念 ?? 了解
ASP.NET 3.5的新特性 ?? 掌握配置
ASP.NET 3.5的方法 ?? 熟悉Visual Studio 2008开发环境 ?? 了解
ASP.NET预处理指令 ?? 掌握C#编写简单
ASP.NET应用程序的方法 1.1 .NET Framework概述 Microsoft发布的.NET Framework简称为.NET,是支持生成和运行下一代应用程序和Web服务的内部Windows组件,它提供了执行环境托管的、简化的开发和部署以及与各种编程语言的集成功能。
1.1.1 .NET Framework简介 .NET Framework是支持生成和运行下一代应用程序和XML Web Services的内部Windows组件。
.NET Framework旨在实现下列目标。
?? 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行。
?? 提供一个将软件部署和版本控制冲突最小化的代码执行环境。
?? 提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
?? 提供一个可消除脚本环境或解释环境的代码执行环境。
ASP.NET 3.5(C)实践教程 ?? 使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。
?? 按照工业标准生成所有通信,以确保基于.NET Framework的代码可与任何其他代码集成。
.NET Framework主要有两个组件:公共语言运行时(CLR)和.NET Framework类库。
公共语言运行时是.NET Framework的基础。
可以将运行时看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全性以及可提高安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行时的基本原则。
以运行时为目标的代码称为托管代码,而不以运行时为目标的代码称为非托管代码。
.NET Framework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于
ASP.NET所提供的新增的应用程序(如Web窗体和XML Web Services)。
在图1-1所示的.NET Framework平台上显示了公共语言运行时和类库与应用程序以及与整个系统之间的关系。
托管应用程序非托管应用程序运行时类库自定义类库Internet信息服务
ASP.NET运行库托管Web应用程序操作系统/硬件 图1-1 .NET Framework平台 1.1.2 .NET Framework 3.5新特性 .NET Framework 3.5版以.NET Framework 2.0版和.NET Framework 3.0版为基础,主要包括如下的组件。
?? .NET Framework 2.0。
?? .NET Framework 2.0 Service Pack 1,它更新包含.NET Framework 2.0中的程 序集。
?? .NET Framework 3.0,它使用.NET Framework 2.0或.NET Framework 2.0 SP1(如果已安装)中的程序集,并且包含.NET Framework 3.0引入的技术所必需的程序集。
例如,Windows Presentation Foundation(WPF)所必需的Presentation Framework.dll和PresentationCore.dll就随.NET Framework 3.0一起安装。
?? .NET Framework 3.0 Service Pack 1,它更新包含.NET Framework 3.0中的程 序集。
?? 一些新程序集,它们为.NET Framework 2.0和3.0提供附加功能,同时还提供.NET Framework 3.5中新采用的技术。
第 1 章
ASP.NET 3.5概述 如果安装 .NET Framework 3.5 时缺少上述任何组件,则系统会自动安装。
应用程序无论针对的是.NET Framework 2.0、3.0还是3.5版,都使用相同的程序集。
例如,对于使用WPF并针对.NET Framework 3.0的应用程序,其所使用的mscorlib程序集与使用Windows窗体并针对.NET Framework 2.0的应用程序是相同的。
如果.NET Framework 2.0 SP1已安装在计算机上,则mscorlib.dll会自动更新,并且两个应用程序将都使用mscorlib. dll的更新版本。
.NET Framework 2.0、3.0和 3.5版之间的关系不同于.NET Framework 1.0、1.1和2.0版之间的关系。
.NET Framework 1.0、1.1和2.0版是彼此完全独立的,对于其中任何一个版本来说,无论计算机上是否存在其他版本,都可以存在于该计算机上。
当.NET Framework 1.0、1.1和 2.0版位于同一台计算机上时,每个版本都有自己的公共语言运行时、类库、编译器等。
应用程序可以选择是针对.NET Framework 1.0、1.1还是2.0版。
注 意 .NET Framework 3.5为2.0和3.0中的技术引入了新功能,并以新程序集的形式引入了其他技术。
下列是随.NET Framework 3.5引入的技术。
?? LINQ LINQ(Language Integrate Query,语言集成查询)是Visual Studio 2008和.NET Framework 3.5中的新功能。
LINQ将强大的查询功能扩展到C和Visual Basic的语言语法中,并采用标准的、易于学习的查询模式。
可以对此技术进行扩展以支持几乎任何类型的数据存储。
?? 外接程序和扩展性 .NET Framework 3.5中的System.AddIn.dll程序集对可扩展应用程序提供了强大而灵活的支持。
它引入了新的结构和模型,可帮助开发人员完成向应用程序添加扩展性的初始工作,并确保开发人员的扩展在宿主应用程序发生更改时仍可继续工作。
?? WPF 在.NET Framework 3.5中,WPF(Windows Presentation Foundation)包含多个方面的更改和改进,其中包括版本控制、应用程序模型、数据绑定、控件、文档、批注和三维UI元素。
?? WCF和
ASP.NET Ajax集成 WCF与
ASP.NET中的异步JavaScript和XML(Ajax)功能的集成提供了一个端对端的编程模型,可用于构建可以使用WCF服务的Web应用程序。
在Ajax样式的Web应用程序中,客户端(例如,Web 应用程序中的浏览器)可通过使用异步请求来与服务器交换少量的数据。
在
ASP.NET中集成Ajax功能可提供一种生成WCF Web服务的简单方法,并通过使用浏览器中的客户端JavaScript可以访问这些服务。
?? ClickOnce清单 新增了一些密码类,用于验证和获取有关ClickOnce应用程序的清单签名的信息。
在这里仅列举了.NET 3.5中的重要新功能和新特性,但不是全部。
如果需要了解更多,可到网站http://www.microsoft.com上查找。
提 示
ASP.NET 3.5(C)实践教程 1.1.3
ASP.NET 3.5新特性 .NET Framework 3.5针对
ASP.NET和Visual Web Developer中的特定方面提供了增强功能。
其最重要的改进在于支持Ajax网站的开发。
ASP.NET支持使用一组新的服务器控件和API进行以服务器为中心的Ajax开发。
通过添加ScriptManager控件和UpdatePanel控件,可以让现有
ASP.NET 2.0页面支持Ajax功能,这样更新页面时将无须整页刷新。
如下主要对3个方面的改进进行介绍。
??
ASP.NET Ajax和Visual Web Developer改进
ASP.NET还支持使用名为Microsoft Ajax Library的新客户端库进行以客户端为中心的Ajax开发。
Microsoft Ajax Library支持以客户端为中心的、面向对象的且独立于浏览器的开发。
借助ECMAScript(JavaScript)中的库类,可以提供丰富的UI(User Interface,用户界面)行为,而无须反复访问服务器。
开发人员可以根据应用程序的需要,调整以服务器为中心和以客户端为中心这两种开发模式的比例。
此外,Visual Web Developer的改进还包括对JavaScript的IntelliSense支持和对Microsoft Ajax Library的支持。
现在,
ASP.NET和Visual Web Developer支持创建基于ASMX和WCF的Web服务,还支持在采用Microsoft Ajax Library的网页中无缝使用任一实现。
此外,包括Forms身份验证、角色管理和配置文件的服务器端应用程序服务现已作为Web服务公开,这些服务可以在WCF兼容应用程序(包括客户端脚本和Windows窗体客户端)中使用。
ASP.NET允许所有的基于Web的应用程序共享这些公共应用程序服务。
??
ASP.NET其他改进
ASP.NET中的其他改进包括:用于显示数据的新数据控件ListView;通过
ASP.NET数据源控件结构向Web开发人员公开语言集成查询(LINQ)的新数据源控件LinqData Source;用于合并预编译程序集的新工具
ASP.NET合并工具(Aspnet_merge.exe);与IIS 7.0的紧密集成。
ListView是一个可高度自定义的控件(使用模板和样式),该控件支持编辑、插入和删除操作以及排序和分页功能。
一个名为DataPager的新控件为ListView提供了分页功能。
可以使用合并工具来合并程序集以支持各种部署和发布管理方案。
ASP.NET和IIS 7.0的集成提供了对任何内容类型使用
ASP.NET服务(如身份验证和缓存)的能力,还提供了使用
ASP.NET托管代码开发服务器管线模块的能力,并且支持模块和处理程序的统一配置。
?? Visual Web Developer其他改进 Visual Web Developer中的其他改进包括:多目标支持、包含Web应用程序项目、新的“设计”视图、新的级联样式表(CSS)设计工具以及对LINQ for SQL数据库的支持。
多目标功能使您能够使用Visual Web Developer针对特定的.NET Framework 版本(包括2.0、3.0和3.5版)开发Web应用程序。
1.2 配置
ASP.NET 3.5 到目前为止,已经对.NET Framework和
ASP.NET有了很多的理解,下面将介绍如 第 1 章
ASP.NET 3.5概述 何开发
ASP.NET应用程序。
但在这之前还需配置.NET Framework环境,包括安装.NET Framework 3.5和Visual Studio 2008等。
1.2.1 Visual Studio 2008简介 Visual Studio是一套完整的开发工具,用于生成
ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。
Visual Basic、Visual C和Visual C都使用这一相同的集成开发环境(IDE),这样就能够进行工具共享,并能够轻松地创建混合语言应用程序。
Visual Studio 2008是Microsoft发布的最新版本,包含很多新特性和新功能,这些全新的功能会大大提高开发人员的工作效率并且减少程序复杂性。
主要包括:.NET Framework对重定向的支持;
ASP.NET Ajax和JavaScript智能客户端支持;全新的Web开发新体验,Web设计器提供了分割视图编辑、嵌套母版页以及强大的CSS编辑器集成功能;编程语言方面的改进和LINQ;浏览.NET Framework库
源码;智能部署ClickOnce;.NET Framework 3.5增强功能;集成对Office(VSTO)和Sharepoint 2007开发的支持;是Windows Server 2008和Windows Vista下最好的开发工具集;单元测试功能;等等。
1.2.2 安装Visual Studio 2008 在安装Visual Studio 2008之前,应考虑执行一些相关步骤,以减少安装过程中遇到问题的可能性。
例如,确定运行Visual Studio 2008计算机的硬件配置,并卸载Visual Studio 2008的任何预发布版本,了解Visual Studio 2008可运行的操作系统版本等。
用户可以从光盘或网络获取Visual Studio 2008的发布包,然后就可以进行安装了。
下面以在Windows XP平台上安装Visual Studio 2008的DVD版为例,安装步骤如下。
(1)将DVD安装源放入光驱,就会自动运行Autorun. exe开始安装,并弹出安装对话框,如图1-2所示。
如果没有自动运行,也可以手动从光驱中运行Autorun.exe。
在安装对话框中提供了3个链接,可以安装Visual Studio 2008、帮助文档以及更新补丁。
第一次运行是仅第一个选项可用,单击它开 图1-2 安装对话框
ASP.NET 3.5(C)实践教程 始安装。
(2)安装程序将加载安装组件到本地计算机并检测当前配置,待完成后进入开始安装界面,如图1-3所示。
(3)单击【下一步】按钮继续安装。
在打开的对话框中输入产品的密钥和用户的名称,并接受许可协议中的条款,如图1-4所示。
该图左侧显示了安装程序检测到的已安装组件和即将要安装的组件,然后单击【下一步】按钮。
(4)Visual Studio 2008提供了3种安装配置,分别是默认值、完全和自定义。
在这一步中即可以对这3种进行选择,还可以修改安装目录。
方法是,单击【浏览】按钮,在弹出的对话框中选择或者直接在文本框中更改,如图1-5所示。
(5)这里选择【自定义】选项,再单击【下一步】按钮继续。
在弹出的对话框中可以根据需要选择要安装的组件,选择完成后单击【安装】按钮开始复制文件。
这里的选项可在以后使用时进行修改,如图1-6所示为取消选择Visual C时的界面。
如果选择默认值或者完全的安装方式将会跳过这一步。
(6)复制文件和组件的过程长短与计算机的配置成正比。
在安装过程中,会在左边显示将要安装的组件和当前组件的安装进度,右边则是Visual Studio 2008的一些介绍,如图1-7所示。
图1-3 开始安装 图1-4 设置产品和用户信息 图1-5 选择安装功能和位置 第 1 章
ASP.NET 3.5概述 (7)安装完成后会出现图1-8所示的界面,提示安装完成。
完成信息包含成功提示、安全建议以及一些超链接。
(8)最后单击【完成】按钮,结束安装过程。
此时会再次弹出初始安装时的安装对话框,所不同的是在这里3个链接都可用。
而且由于已经完成了Visual Studio 2008的安装,因此,第1个链接变成了“更改或移除Visual Studio 2008”,如图1-9所示。
如果在同一台计算机上安装了Visual Studio 2005和Visual Studio 2008,则在首次启动Visual Studio 2008时,可以迁移Visual Studio 2005中的大多数设置。
但无法自动迁移第三方代码段和外接程序,必须再次手动安装它们以便在Visual Studio 2008中使用。
如果不在同一台计算机上安装Visual Studio 2005和Visual Studio 2008,也仍可以手动迁移Visual Studio 2005设置,以便在Visual Studio 2008中使用。
技 巧 图1-8 安装完成 图1-9 安装对话框 图1-6 选择安装功能 图1-7 安装组件
ASP.NET 3.5(C)实践教程 Visual Studio 2008安装完成后会对之前安装低版本的.NET Framework程序集的位置和名称进行更改。
这主要表现为,Visual Studio 2008更新MSBuild程序集的文件名和位置。
下面的程序集在其文件名后面附加了“v3.5”。
?? Microsoft.Build.Conversion.v3.5.dll ?? Microsoft.Build.Utilities.v3.5.dll ?? Microsoft.Build.Tasks.v3.5.dll 此外,以下生成程序集现在位于Program FilesReference AssembliesMicrosoft Frameworkv3.5中。
?? Microsoft.Build.Conversion.v3.5.dll ?? Microsoft.Build.Engine.dll ?? Microsoft.Build.Framework.dll ?? Microsoft.Build.Utilities.v3.5.dll 而Microsoft.Build.Tasks.v3.5.dll文件则位于WindowsMicrosoft.NETFramework v3.5中。
1.2.3 Visual Studio 2008开发环境 上一节对Visual Studio 2008安装过程进行了详细介绍,但是安装之后,安装是否成功,如何打开、验证和使用Visual Studio 2008呢?本节将针对这些内容进行介绍,使读者快速掌握开发
ASP.NET应用程序的IDE——Visual Studio 2008。
首先选择【开始】【程序】Microsoft Visual Studio 2008Microsoft Visual Studio 2008命令启动程序,第一个出现的是Microsoft Visual Studio 2008的启动画面,如图1-10 所示。
接下来是初始化环境设置,在这里选择默认环境设置,例如对于Windows应用程序开发人员可以选择C或者VB作为默认环境,当然环境也可以在启动以后进行修改。
这里选择使用C进行开发的设置,如图1-11所示。
图1-10 启动画面 图1-11 选择默认环境设置 第 1 章
ASP.NET 3.5概述 单击【启动Visual Studio】按钮开始载入程序并执行配置环境操作,待完成后会出现Microsoft Visual Studio 2008的主界面。
在主界面中选择【帮助】【关于Microsoft Visual Studio】命令来查看它版本信息,此时将弹出一个对话框,如图1-12所示。
单击【确定】按钮返回Visual Studio 2008的起始页,它为方便快速地使用Visual Studio 2008提供了一种简捷方式。
在这里可以轻松打开常用项目、创建新项目、找到联机资源,以及管理Visual Studio 2008的配置文件等。
使用Visual Studio 2008创建最多的是Windows和Web应用程序。
创建方法为:打开Visual Studio 2008的起始页后,选择【文件】【新建】【项目】命令打开【新建项目】对话框,在这里将看到许多的【项目类型】和【模板】以树状视图组织,如图1-13所示。
这里要注意,Visual Studio 2008与之前版本的重大区别就是,对多个.NET Framework的支持,即在图1-13所示的对话框中可以选择要创建的应用程序使用的.NET Framework版本。
要创建Web站点(包括
ASP.NET网站、Web服务和Crystal Report等)可以选择【文件】【新建】【网站】命令打开【新建网站】对话框,如图1-14所示。
在这里同样可以选择Web网站使用的.NET Framework版本。
Visual Studio 2008还提供了一个功能改进的HTML和
ASP.NET网页设计器。
此外,这个所见即所得(WYSIYG)设计器还提供了如下特性。
图1-12 查看版本信息 图1-13 【新建项目】对话框 图1-14 【新建网站】对话框
ASP.NET 3.5(C)实践教程 ?? 分割视图(Split View)的支持(同时将HTML
源码和所见即所得设计模式打开的能力)。
?? 无比丰富的CSS支持(CSS属性窗口、CSS继承图示器、CSS预览以及CSS管理器)。
?? 极大改进的视图转换性能(从
源码模式转换成HTML设计模式将会瞬时完成)。
?? 对
源码视图内控件设计器的支持(属性构造器、事件接通(wire-up)以及向导将会在
源码视图内正常工作)。
?? 更丰富的标尺(ruler)和布局支持(它们的值将被自动储存在外部的CSS文 件中)。
?? 对内嵌母版页nested master pages的设计器支持。
下面图1-15所示是一个在分割视图编辑模式下的
ASP.NET网页的截图,在这里允许开发人员同时在
源码和设计模式里操作。
另外,Visual Studio 2008也对CSS的支持进行了增强,在新的【管理样式】属性窗口中允许开发人员在样式表内轻易地创建、管理和重构CSS规则,就像是使用专业的网页开发和编辑工具一样。
图1-15 分割视图 Visual Studio 2008在
ASP.NET的改变主要包括了
ASP.NET Ajax 1.0内置的所有功能,而且还提供了对Ajax和JavaScript工具的支持,包括JavaScript脚本智能提示和更加丰富的调试支持等。
如图1-16所示,Visual Studio 2008对标准的行内JavaScript脚本动态产生的提示信息。
Visual Studio 2008还包含了许多工具,其中一些是对旧功能的增强,一些是新增功能。
总之,这些工具都是为了一个共同的目标:让开发人员能够更轻松地在设计时正确编写代码。
第 1 章
ASP.NET 3.5概述 图1-16 增强的JavaScript智能提示 1.3
ASP.NET预处理指令
ASP.NET有许多名为预处理器指令的命令。
这些命令从来不会编译为可执行代码中的命令,但会影响编译过程的各个方面。
预处理器指令是在编译时调用的。
预处理器指令告诉C编译器要编译哪些代码,并指出如何处理特定的错误和警告。
预处理器指令的开头都有符号。
?? define和undef define可以建立一个预定义符号,当将符号用作传递给if指令的表达式时,此表达式的计算结果为true。
如: define CSHAR1 告诉编译器存在给定的名称符号,上面的语句定义的符号是CSHAR1。
这个符号不是事件代码的一部分,只在编译代码时存在。
undef指令用于删除一个预定义符号。
必须把define和undef指令放在C
源码的开头,即在要编译的任何代码之前。
它不像C中那样可以定义常数值。
define本身并无大用,需要配合if指令使用。
?? if、elif、else和endif if用于条件指令,测试一个或多个符号以查看他们是否计算为true。
如果计算结果确实为true,则编译器将计算位于if与最近的endif指令之间的所有代码。
例如, define v3 // ... if v3 Console.WriteLinequotv3 is definequot endif 可以使用运算符(相等)、(不相等)、ampamp(与)及(或)来计算多个符号。
还可以用括号将符号和运算符分组。
下面看一个实例,其代码如下: define v2 define v3
ASP.NET 3.5(C)实践教程 using System namespace Myconsole class myVesion static void Mainstring args if v2 ampamp v3 Console.WriteLinequotv2 is definedquot elif v2 ampamp v3 Console.WriteLinequotv3 is definedquot elif v2 ampamp v3 Console.WriteLinequotv2 and v3 are definedquot else Console.WriteLinequotv2 and v3 are not definedquot endif Console.ReadLine 输出结果是: v2 and v3 are defined 这种方式称之为条件编译。
使用if不是条件编译代码的唯一方式,C还提供了通过Conditional属性的机制。
?? warning和error 这是两个很有用的预处理器指令,编译器遇到它们时,会分别产生警告和错误信息。
如果遇到warning指令,会显示warning指令后面的文本。
实际上,在Visual Studio 2008中,IDE会直接将信息标识出来: warning some warning info 而如果编译器遇到error,就会立即退出编译,不会产生IL代码。
?? region和endregion region和endregion指令用于把一段代码标记为有指定名称的一个块。
举例代码 如下: region private MaxNumber .