Visual Web Developer
Visual Studio Web 开发的新增功能

Microsoft Visual Studio 2005 包含 Visual Web Developer Web 开发工具,它是一组工具和实用工具,用于创建 ASP.NET 2.0 版网站。Visual Web Developer 在支持网站创建方面进行了重要改进。Visual Web Developer 继续具有集成开发环境 (IDE) 在工作效率方面的优点,同时进行了大量改进。

此版本的 Visual Web Developer 主要在以下方面进行了改进:

  • ASP.NET 2.0 支持。

    Visual Web Developer 支持新的 ASP.NET 2.0 功能,包括 ASP.NET 2.0 中引入的很多新控件。此外,Visual Web Developer 与本机 ASP.NET 2.0 功能相当一致,没有添加特定于设计器的功能。例如,Visual Web Developer 没有将特定于设计器的标记嵌入 ASP.NET 2.0 页。

  • 更为灵活的项目选项和部署选项。

    使用 Visual Web Developer 可以在本地和远程计算机上的 IIS 根中创建传统的 Microsoft Internet 信息服务 (IIS) 应用程序,它还支持虚拟根,支持使用文件传输协议 (FTP) 打开网站,支持使用项目之外的独立文件。所有这些改进,使 ASP.NET 2.0 应用程序的创建和部署变得相当容易。

  • 改进的代码隐藏模型。

    Visual Web Developer 可以通过两种方式创建页:一种是使用新的代码隐藏模型,另一种是将代码包含在 ASP.NET 页(.aspx 文件)中。

  • 改进的编程功能。

    大大简化了许多基本任务。例如,无需编写任何代码就能创建数据绑定页。新的 ASP.NET 2.0 控件增加了一些重要功能,这些功能在过去是需要自己编写代码才能实现的。Microsoft IntelliSense 和相关技术经过扩展,几乎能用于任何地方。

下面各部分高度概括了 Visual Web Developer 中的更改。

有关 ASP.NET 2.0 新功能的信息,请参见 ASP.NET 中的新增功能

网站和项目

Visual Web Developer 的特点在于,能灵活创建网站(在 Visual Web Developer 和网页设计器的以前版本中,分别称为项目和 Web 应用程序)。Visual Web Developer 中的网站不必绑定到 Microsoft Internet 信息服务 (IIS),也不必绑定到 IIS 根的物理文件夹。

现在,可以创建以下类型的网站:

  • 文件系统。

    可以将网站的所有文件保存在单个文件夹中。文件系统网站不依赖于 IIS。有关详细信息,请参见演练:在 Visual Web Developer 中创建基本网页

  • 本地 IIS。

    如同 Visual Studio 的以前版本一样,可以创建能够放置在本地 IIS 根或虚拟目录上的 IIS 应用程序。还可以创建虚拟文件夹。有关详细信息,请参见演练:网页中的基本数据访问

  • 远程。

    可以创建放置在支持 Microsoft FrontPage 2002 服务器扩展的远程服务器上的应用程序。这是 Visual Web Developer 的以前版本所使用的模型,本版本继续支持此模型。

  • FTP。

    可以通过 FTP 打开网站。有关详细信息,请参见演练:在 Visual Web Developer 中通过 FTP 编辑网站

ASP.NET Development Server

与 Visual Web Developer Web 开发工具一起提供的,还有一个轻量测试应用程序服务器,即 ASP.NET Development Server,该服务器可用来测试文件系统网站,而无需使用 IIS。有关更多信息,请参见 Visual Web Developer 中的 Web 服务器

项目

在 Visual Web Developer 的新版本中,网站不依赖于项目文件和解决方案文件。可以在 Visual Web Developer 中向网站添加文件,也可以通过使用 Microsoft Windows 资源管理器向网站添加文件,添加的文件会自动成为网站的组成部分。

Visual Web Developer 还可以创建项目文件和解决方案文件来存储少量特定于项目的信息,如 IDE 设置。以前存储在项目文件中的许多信息,现在都存储在 Web.config 文件中作为标准 ASP.NET 2.0 配置设置,或已不再是必要信息。项目文件不存储运行应用程序所需的任何信息。

不使用项目模型进行开发,不仅可以在 Visual Web Developer 外部添加、编辑和移除文件,也使多个开发人员协作创建网站更为容易。无需访问需要随文件信息进行更新的集中项目文件,多个开发人员就能向网站添加文件或从网站移除文件。此外,在源代码管理系统(如 Microsoft Visual SourceSafe 版本控制系统)中保存网站文件也更为容易,因为开发人员无需以独占方式签出项目文件,就能向网站添加文件。

动态编译模型

在 Visual Web Developer 中,网站不再使用以前版本使用的编译模型,在以前的编译模型中,整个项目的可执行代码都编译到单个程序集中。现在,默认情况下,新版本使用 ASP.NET 2.0 原有的动态编译模型。

开发的网站如果不生成可执行程序集作为输出,有很多优点:

  • 即使网站包含仍处于开发阶段的页,也能进行测试 -- 含有编译错误的页不会阻碍网站其他页的运行。

  • 在开发大型网站时,不必在每次更改单个页或组件后,重新编译整个应用程序。如果开发人员更改了某个页,只在下次请求该页时重新编译该页。

  • 不同的开发人员可以同时编辑不同的页,他们所做的更改不会相互干扰,如果将项目编译到单个程序集中(如在 Microsoft Visual Studio .NET 2003 中开发),则可能出现干扰。

测试网站时,仍要编译(生成)网站。但是,编译步骤是为了验证所有页及其依赖项都可以编译,编译过程的输出不用作运行网站的基础。此生成步骤比较早版本复杂,因为它不仅验证代码是否可编译,还查找标记语法和 Web.config 文件中的错误。

发布网站

由于有些开发人员不想将源代码与网站一起部署,Visual Web Developer Web 开发工具提供了一个选择,用户可以使用“生成网站”命令对网站进行预编译和部署。“生成网站”命令对整个网站运行编译器(而不仅仅对代码文件),并生成可部署到生产服务器的网站布局。该布局包含各页的程序集,既包含页代码也包含页标记(即,也编译 .aspx 文件)。

Note注意

此功能在 Visual Web Developer 速成版中不可用。

预编译最主要的优点在于,它允许只部署可执行代码,从而提供了一种知识产权保护措施。此外,预编译还查找页或相关代码中的所有编译时错误。最后,预编译提高了性能,减少了网站中的页首次呈现所需的时间。

编辑页

Visual Web Developer 为网页的创建和编辑提供以下增强功能:

  • 支持新的页功能。   

    Visual Web Developer 网页设计器对新的 ASP.NET 2.0 页元素(如主控页)提供 WYSIWYG 支持功能。有关详细信息,请参见 ASP.NET 母版页概述演练:在 Visual Web Developer 中创建和使用 ASP.NET 母版页

  • 保留源代码。

    在“设计”视图和“源”视图之间切换时,以及保存文件时,Visual Web Developer 会保留页的 HTML 格式设置。

  • 增强的 HTML 生成和验证。   

    Visual Web Developer 为页上 HTML 的生成和验证提供了更多选项。默认情况下,网页设计器创建与 XHTML 1.1 兼容的标记,新的架构包括对 XHTML 几种变体的支持。可以设置选项,以确定 Visual Web Developer 验证页元素的严格程度,而 HTML 的验证也更加严格。此外,Visual Web Developer 在工具提示中提供了错误消息。

  • “源”视图中的拖放功能。

    在“源”视图中时,可以从“工具箱”中拖动控件。

有关更多信息,请参见演练:在 Visual Web Developer 中创建基本网页

编程

Visual Web Developer 的代码编辑器进行了很多改进,有助于提高编写代码的效率,这些改进包括:

  • Microsoft IntelliSense 技术。 

    现在,在编辑网页时,语句完成几乎已随处可用。IntelliSense 技术有助于在代码隐藏页、单文件页、标记、页指令等之中创建代码。

  • 事件下拉列表。  

    通过使用事件下拉列表,可以在“源”视图中创建事件处理程序,而在以前版本中,事件处理程序只能在“代码”视图中创建。现在“属性”窗口中可以使用 Visual Basic 和 C# 创建事件处理程序。

  • 单文件页支持。

    现在,代码编辑器为代码隐藏页和单文件 ASP.NET 2.0 页提供同样的支持。(有关代码隐藏模型的更改的更多信息,请参见改进的代码隐藏模型。)两种代码模型都支持语法着色、IntelliSense 技术等。

  • 共享代码。

    源代码在 Web 应用程序的 App_Code 文件夹中的类是自动进行引用的;如果使用了编译组件,则可将它们放在 Bin 文件夹中,以便 Visual Web Developer 自动引用这些组件。IntelliSense 功能收集安装在应用程序的 App_Code 或 Bin 文件夹中的所有组件的信息。有关详细信息,请参见演练:在 Visual Web Developer 中使用网站的共享代码

  • 调试。

    对于本地网站,包括文件系统网站,具有全部调试功能。与以前的版本相比,调试更为容易也更快速。有关详细信息,请参见演练:在 Visual Web Developer 中调试网页

改进的代码隐藏模型

在 Visual Web Developer 的以前版本和本版本之间,一个显著差别是代码隐藏页的工作原理。在 Microsoft Visual Studio .NET 2002 中,创建新的 Web 窗体页之后,Visual Web Developer 会创建含有标记的 .aspx 文件,并为页代码创建单独的 .vb 或 .cs 文件(代码隐藏文件)。代码隐藏文件定义了一个派生自 Page 类的完整类。

网页设计器使 .aspx 文件与代码隐藏文件保持同步。例如,如果向 .aspx 文件添加 Web 服务器控件,网页设计器则会在该控件的代码隐藏文件中创建一个相应的实例变量。

在本版本中,代码隐藏模型利用了称为分部类的新语言功能。页的代码隐藏文件不是一个完整类定义。而是只包含所需的应用程序代码,如事件处理程序。代码隐藏分部类不需要包含实例变量;ASP.NET 2.0 在编译时根据标记推断控件实例。如果正在使用 C# 编写代码,则无需包含事件绑定的显式委托,因为 ASP.NET 2.0 可以根据控件标记中的事件属性(如 onclick)推断出来。在 Visual Basic 中,可以和以前的模型一样,向事件方法的声明添加一条 Handles 子句,以便将该事件绑定到处理程序。

较之于以前的模型,新的代码隐藏模型具有如下优点:

  • 代码和标记真正分离。

    在以前的版本中,标记和代码都存储在单独的文件中。但是,由于以前版本需要使用实例变量和事件委托才能保持文件同步,因此,文件的处理实际上并不是独立进行的。例如,不可能由一名页面开发人员处理页面布局,由另一名开发人员处理代码。在本版本中,上述做法的可行性大大提高。

  • 引用控件更为简单。

    如前所述,新的代码隐藏模型在代码隐藏页中不需要显式实例变量。尽管以前的版本也管理实例变量,但不是为所有控件(尤其是用户控件或声明为控件的一些 HTML 元素)进行管理。在本版本中,由于不需要任何实例变量,所有控件(包括用户控件)都是隐式引用的。

  • 生成的代码更少。

    除了类定义本身外,新的代码隐藏模型几乎不包含任何生成的代码。代码隐藏中没有任何保留区域可供编辑器改写。

控件

Visual Web Developer 支持新的 ASP.NET 2.0 控件,这些控件提供的新功能,可以大大提高效率。除了承载新控件之外,网页设计器还具有一些改进,有助于使控件处理更为容易。重要的改进如下:

  • 更加一致和功能更强的编辑模型。   

    处理控件的总体模型在控件之间更为一致,无需使用“属性”窗口或编辑控件的声明性语法,就能执行更多操作。

  • 控件的可视化显示。 

    网页设计器改进了对控件呈现的支持;例如,现在用户控件在“设计”视图中是以可视方式呈现的。

  • 基于任务的编辑。  

    处理控件时,会为当前控件显示一个“智能标记”菜单(任务的浮动快捷菜单)。基于任务的编辑所提供的典型操作包括编辑模板和设置数据绑定。

  • 模板编辑。

    网页设计器为创建和编辑有关复杂控件(如 DataList GridView 控件)的模板提供了一个更直观的简化界面。

  • 表编辑。

    现在,在网页设计器中创建和编辑 HTML 表更为容易。有关详细信息,请参见 演练:在 Visual Web Developer 中编辑 HTML 表格

控件扩展性

现在可以通过一些有效的新方式来扩展控件。和以前一样,可以创建用户控件和自定义控件。本版本的 Visual Web Developer Web 开发工具改进了对用户控件的支持,包括“设计”视图中的 WYSIWYG 呈现和“属性”窗口支持。

通过创建适配器,可以扩展控件的运行时行为,这些适配器为特定的设备或浏览器定义控件输出。在运行时,ASP.NET 2.0 确定生成请求的设备的类型,并调用控件适配器呈现该设备的给定控件的相应输出。通过为控件和特定的设备类创建适配器,可以为设备自定义控件输出。为新设备创建自定义呈现时,适配器尤其有用。有关更多信息,请参见开发 ASP.NET 服务器控件的适配器

如果要开发自定义控件,现在对在网页设计器中承载控件的支持也得到了改进,包括:

  • 提供了一些类,允许在设计时向控件添加基于区域的编辑。

  • 支持基于任务的编辑,通过在网页设计器中使用快捷菜单即可定义控件公开的谓词(任务)。

  • 模板编辑服务,简化了向控件添加模板支持。

  • 控件可以利用基于工具的服务,以改进与其承载环境之间的交互。例如,控件可以访问页指令、项目系统以及当前文档。

数据控件和数据绑定

处理数据是许多 ASP.NET 2.0 网页的重要任务,Visual Web Developer 在这方面进行了很多改进,使数据访问更易于实现和管理。在 ASP.NET 2.0 中,数据绑定的总体目标是,无需编写任何代码就能完成各种数据绑定方案。本版本通过提供向导,对数据绑定的配置和数据组件的创建提供帮助,支持并扩展了这一目标。

与数据源控件进行数据绑定

对页上的控件与数据源之间的绑定模型进行了显著改进。Microsoft Visual Studio .NET 2002 的数据绑定模型要求在页上添加数据组件,如连接和数据集对象。然后,还需要编写代码来管理与数据控件(如 DataListDataGrid 控件)的数据绑定。

为简化数据绑定,ASP.NET 2.0 引入了数据源控件。数据源控件提供了一个对象,在此对象中,可以以声明方式定义以下内容:

  • 连接信息。

  • 查询(SQL 语句、存储参数名、或对象中要调用的方法的名称)。

  • 参数 -- 可以以声明方式定义参数,指定它们从页上的控件、查询字符串、会话变量、或其他源获取参数值。

  • 行为选项(取决于数据源控件),如分页和缓存。

通常,不需要直接处理用于管理数据访问的对象,如数据集或数据读取器。数据源控件在幕后创建数据组件。您不处理这些组件,如果要使用某项功能(如分页,分页功能要求在数据集和数据读取器之间进行选择),还是需要对这些组件有所了解。

ASP.NET 2.0 为不同类型的数据存储区提供数据源控件,这些数据存储区包括 SQL(用于 OLE DB 和开放式数据库连接 [ODBC] 数据库)、XML 文件和业务对象。所有数据源控件向页上数据控件公开的接口都相同,因此,无论表示的是哪种基础数据存储区,控件(如 DataListRepeater 控件和新的 GridView 控件)都可以以相同方式绑定到任何数据源控件,然后在页上显示数据。这样,ASP.NET 2.0 的全部数据控件都可以用来处理各种数据源。

为帮助创建和配置数据源控件,Visual Web Developer Web 开发工具提供了一些向导,可帮助创建连接,定义查询,指定要调用的方法,也可以配置参数。

增强的数据控件

ASP.NET 2.0 中的所有数据控件都进行了增强,用于处理数据源控件。引用数据源控件,而不是指向数据集或数据读取器中的某个控件。数据控件和数据源控件共同协作,自动管理数据绑定,这样,大多数情况下,无需编写代码即可执行数据绑定。

因此,在任何数据绑定控件中,都可以利用自动数据绑定。此外,ASP.NET 2.0 引入了新的数据控件,可提供更多功能。这些功能包括:

  • GridView 控件,它是 DataGrid 控件的后继控件。

    GridView 控件可自动执行 DataGrid 控件的许多功能,因此不需要编写编辑、排序或分页的代码。如果要自定义控件的行为,可以继续使用熟知的 DataGrid 控件对象模型。

  • DetailsView 控件一次显示一条记录,可进行编辑、删除和插入记录的操作。

    也可以按页查看多条记录。

  • FormView 控件与 DetailsView 控件类似,但可以为每条记录定义任意形式的布局。

    对于单条记录,FormView 控件类似于 DataList 控件。

可以继续使用 DataGrid 控件,尽管它已由 GridView 控件取代。使用 DataGrid 控件的现有页仍可正常工作。至于其他数据控件,DataGrid 控件已进行了增强,以与数据源控件交互。

双向数据绑定

组合使用数据源控件、声明性参数和增强的数据控件,可以创建双向数据绑定而无需编写代码。在数据源控件中,可以定义用于更新的查询或方法名称。数据控件,如 GridViewDetailsViewFormView 控件,支持编辑模式和删除模式(对于某些控件,还支持插入模式),这些模式可以自动与数据源控件交互,向数据源写入数据。

连接字符串存储

为提高网站的可维护性和安全性,可以将连接字符串保存在 Web.config 文件中专为连接字符串存储设计的新节中。如果使用 Visual Web Developer Web 开发工具来创建或配置数据源控件,可以指定将连接字符串存储在 Web.config 文件中。如果要更改数据源,即可方便地更改某个位置上的连接字符串,而不必使用新的连接字符串更新所有页上的所有数据组件。为增加安全性,可以对 Web.config 文件的连接字符串节进行加密。有关详细信息,请参见 使用受保护的配置加密配置信息

两层和三层数据访问

较早的数据绑定模型适于创建两层数据解决方案,这样网页可与数据库直接交互,以填充数据集并将控件绑定到数据集。在新模型中创建两层结构仍很方便。例如,SqlDataSource 控件与数据库直接连接,执行 SQL 语句或存储过程来读取和写入数据。

新的数据绑定模型还大大简化了三层结构的创建,在三层结构中,数据访问是由中间层业务对象处理的。ObjectDataSource 控件通过调用业务对象的方法,检索和更新数据,从而与业务对象交互。页上的数据控件可以绑定到 ObjectDataSource 控件,其方式与绑定到其他数据源控件(如 SqlDataSource 控件)的方式相同。

Visual Web Developer Web 开发工具提供了一个数据组件向导,可帮助创建包含读取和更新数据的方法的自定义对象。您也可以自己创建包含方法的中间层对象。只要自定义对象公开的方法具有适当签名,就可以从 ObjectDataSource 控件进行引用。有关详细信息,请参见 演练:到自定义业务对象的数据绑定

数据访问的向后兼容

Visual Web Developer Web 开发工具继续支持使用以前版本的数据绑定模型的页。包含数据集和其他组件的页的运行方式不变,这些页可以在网页设计器中打开和编辑。Visual Web Developer 不移除数据组件,也不将数据组件转换为数据源控件。

Note注意

在 Visual Web Developer 的网页设计器中,不会显示数据集和数据连接等数据组件。因此,不能通过使用“属性”窗口来设置或检查其属性。但是,仍然可以编辑用来实例化数据组件和设置数组组件属性的代码。

有关更多信息,请参见 数据源控件概述演练:网页中的基本数据访问

转换现有网站

Visual Web Developer 可以将现有项目自动转换为新的简化网站布局。转换过程会保留应用程序的功能和应用的项目选项。现有的代码隐藏网页会转换为新的代码隐藏模型,新模型保留了 HTML 和代码的分离,但简化了结构。有关更多信息,请参见 自 Visual Studio .NET 的 Web 项目转换

转换之后,可以使用网页设计器来处理用以前版本的 Visual Web Developer 开发的页和控件。

Web 应用程序项目

新的 Web 应用程序项目模型提供的 Web 项目语义与 Visual Studio .NET 2003 Web 项目模型提供的相同。这包括一个基于项目文件的结构和一个基于将项目的所有代码编译为单个程序集的生成模型。此外,新的项目类型还支持 Visual Studio 2005 的许多新增功能(如类关系图、测试开发和泛型)以及 ASP.NET  2.0 的许多新增功能(如母版页、数据控件、成员资格与登录、角色管理、Web 部件、个性化设置、网站导航和主题)。

有关 Web 应用程序项目的更多信息,请参见 Web 应用程序项目概述

请参见

标记 :


Page view tracker