演练:使用 ListView Web 服务器控件修改数据

更新:2007 年 11 月

ASP.NET ListView 控件具有一些内置功能,通过这些功能,用户无需编程即可插入、编辑或删除记录。

本演练演示如何使用 ListView 控件显示和更新日期。本演练使用 SqlDataSource 控件从数据源中检索结果并管理更新。SqlDataSource 控件将作为 ListView 控件的数据源。

本演练阐释以下任务:

  • ListView 控件中显示从数据库返回的数据。

  • ListView 控件添加编辑、插入和删除记录的功能。

先决条件

若要完成本演练,您需要:

  • Visual Studio 2008 或 Visual Web Developer 2008 速成版。

  • SQL Server AdventureWorks 数据库的访问权限。有关如何下载和安装 SQL Server 示例 AdventureWorks 数据库的信息,请参见 Microsoft SQL Server 网站上的 Installing Sample Databases for Express Editions(安装示例数据库)。

    说明:

    如果需要有关如何登录到运行 SQL Server 的计算机的信息,请联系服务器管理员。

  • 有权访问 AdventureWorks 数据库的 SQL Server 帐户的用户名和密码。

创建网站

如果已创建了一个网站(例如,通过完成演练:在 Visual Web Developer 中创建基本网页),则可以使用该网站并转到下一节。否则,按照下面的步骤创建一个新的网站和网页。

创建文件系统网站

  1. 打开 Visual Studio 2008 或 Visual Web Developer 2008 速成版。

  2. 在“文件”菜单上单击“新建”,然后单击“网站”。如果使用的是 Visual Web Developer 2008 速成版,则在“文件”菜单上单击“新建网站”。

    显示“新建网站”对话框。

  3. 在“Visual Studio 已安装的模板”下单击“ASP.NET 网站”。

  4. 在第一个“位置”框中,选择“文件系统”,在第二个框中,输入用于保存网站页面的文件夹的名称。

    例如,键入文件夹名称“C:\WebSites\ModifyData”。

  5. 在“语言”列表中,单击您想使用的编程语言。

  6. 单击“确定”。

    Visual Studio 将创建该文件夹和名为 Default.aspx 的新页。

允许用户使用 ListView 控件修改数据

在本节中,将向页面添加 ListView 控件并对其进行配置,以显示和修改 AdventureWorks 数据库的 Department 表中的数据。

在 ListView 控件中显示和修改数据

  1. 如果网站上没有 App_Data 文件夹,则在“解决方案资源管理器”中右击项目,单击“添加 ASP.NET 文件夹”,然后单击“App_Data”。

  2. 在“解决方案资源管理器”中,右击 App_Data 文件夹,然后单击“添加现有项”。

    显示“添加现有项”对话框。

  3. 输入 AdventureWorks 数据库文件 (AdventureWorks_Data.mdf) 的安装位置。

    默认情况下,.mdf 文件的安装路径为 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf。

    说明:

    此过程将创建项目中的数据库文件的副本。数据库文件过大。如果创建数据库副本不太实际,可以使用其他方法(例如直接附加数据库文件)连接到数据库。不过,本演练不介绍此操作过程。

  4. 打开或切换到 Default.aspx 文件。

  5. 切换到“设计”视图。

  6. 从“工具箱”的“数据”选项卡中,将 ListView 控件拖到页面上。

  7. 在“常规 ListView 任务”菜单的“选择数据源”下拉列表中,单击“<新建数据源...>”。下面的图示显示了“常见 ListView 任务”菜单。

    显示“数据源配置”向导。下面的图示显示了“数据源配置”向导。

    数据源配置向导

  8. 单击“数据库”。

    这指定您希望从支持 SQL 语句的数据库(包括 SQL Server 和其他 OLE-DB 兼容的数据库)获取数据。

  9. 在“为数据源指定 ID”框中,将显示默认的数据源控件名称“SqlDataSource1”。可以保留此名称。

  10. 单击“确定”。

    将显示“配置数据源”向导。

  11. 在“应用程序连接数据库应使用哪个数据连接?”下面的列表中,选择“AdventureWorks_Data.mdf”。

  12. 单击“下一步”。

    该向导显示一页,从该页中您可以选择将连接字符串存储到配置文件中。将连接字符串存储在配置文件中有两个优点:

    • 比存储在页面中更安全。

    • 可以在多个页中使用同一连接字符串。

  13. 确保选中“是,将此连接另存为”复选框,然后单击“下一步”。可以保留默认的连接字符串名称。

    显示“配置数据源”向导,在此可以指定要从数据库中检索的数据。

  14. 选择“指定自定义 SQL 语句或存储过程”选项。下面的图示显示了“配置数据源”向导。

    配置 Select 语句

    说明:

    通常,会使用“指定来自表或视图的列”选项。但是,由于 AdventureWorks 数据库具有架构名称,因此在本演练中,将创建自定义 SQL 语句。

  15. 单击“下一步”。

  16. 在“定义自定义语句或存储过程”页中,输入以下 SQL 查询,从“AdventureWorks”数据库中检索部门数据。

    SELECT  DepartmentID, Name, GroupName 
    FROM    HumanResources.Department
    

    此外,也可以单击“查询生成器”,使用“查询生成器”创建查询,然后使用“执行查询”按钮对其进行验证。

  17. 单击“UPDATE”选项卡,然后输入以下 SQL 查询,更新“AdventureWorks”数据库中的部门数据。

    UPDATE HumanResources.Department 
    SET    Name = @Name, GroupName = @GroupName 
    WHERE  (DepartmentID = @DepartmentID)
    
  18. 单击“INSERT”选项卡,然后输入以下 SQL 查询,在“AdventureWorks”数据库中插入部门数据。

    INSERT INTO HumanResources.Department(Name, GroupName)
    VALUES (@Name, @GroupName)
    
  19. 单击“DELETE”选项卡,然后输入以下 SQL 查询,删除“AdventureWorks”数据库中的部门数据。

    DELETE FROM HumanResources.Department WHERE (DepartmentID = @DepartmentID)
    
  20. 单击“下一步”。

  21. 单击“测试查询”确保要检索的正是所需的数据。

  22. 单击“完成”。

    该向导创建 SqlDataSource 控件并将其添加到页面。先前添加的 ListView 控件绑定到 SqlDataSource 控件。

  23. 右击 ListView 控件,单击“显示智能标记”。

  24. 在“ListView 任务”菜单上单击“配置 ListView”。

    显示“配置 ListView”对话框。

  25. 在“选项”下面,选中“启用编辑”、“启用插入”和“启动删除”复选框。下面的图示显示了“配置 ListView”对话框。

    配置 ListView

    说明:

    可能还希望选择一个不同的样式,以便可以更加轻松地查看数据。若要执行此操作,请在“选择样式”下选择一种样式(如“彩色型”)。

  26. 单击“确定”。配置后的“ListView”控件可能如下图所示。

    ListView 控件

现在即可测试 ListView 控件。

测试页面

  1. 按 Ctrl+F5 运行该页。

    显示 ListView 控件,其中具有“DepartmentID”、“Name”和“GroupName”列。

  2. 单击“编辑”按钮修改表中的记录。

  3. 更改记录的值,然后单击“更新”,或者单击“取消”取消编辑操作。

  4. 在页面底部的“Name”和“GroupName”字段中输入值,再单击“插入”插入新记录。

  5. 单击刚才插入的记录的“删除”按钮,将该记录从数据库中删除。

后续步骤

此演练演示使用 ListView 控件用自定义布局显示和编辑数据记录的基本步骤。通过 ListView 控件,可以执行比本演练所示更为复杂的格式设置。有关 ListView 的其他可用方案,请参见 ListView Web 服务器控件概述

请参见

任务

演练:使用 ListView Web 服务器控件对数据进行显示、分页和排序

如何:在使用数据源控件时保证连接字符串的安全

演练:网页中的基本数据访问

概念

ListView Web 服务器控件概述