如何:将 Web 控件绑定到 EntityDataSource

更新:2007 年 11 月

当与 EntityDataSource 控件一起使用时,ListViewFormViewDetailsViewGridView Web 服务器控件会提供自动读取、插入、更新和删除功能。您可以轻松地在这些控件的设计图面上配置 HTML 元素,并将它们数据绑定到 EntityDataSource 控件。

将 Web 服务器控件绑定到 EntityDataSource

ListViewFormViewDetailsViewGridView 控件的设计非常相似。使用以下步骤将其中一个 Web 服务器控件绑定到 EntityDataSource 控件:

  1. 创建 ASP.NET Web 应用程序。

  2. 将项目配置为使用 Entity Framework,定义项目的实体数据模型 (EDM),并重新生成项目。有关更多信息,请参见如何:使用实体数据模型向导 (Entity Framework)

  3. 将控件拖到网页设计图面上。

  4. 配置 EntityDataSource。有关更多信息,请参见配置 EntityDataSource 控件

  5. 将控件配置为使用 EntityDataSource 控件。

Cc668211.alert_note(zh-cn,VS.90).gif说明:

由于在处理实体对象的导航属性时存在 Web 服务器控件设计器限制,因此必须手动编辑代码隐藏页,移除项模板中导航属性名称中的括号。

下面的过程创建一个绑定到 EntityDataSource 控件 ListView 控件。若要完成此过程,您必须已经配置了 Entity Framework,并且已经定义了 AdventureWorks Sales 模型。有关更多信息,请参见如何:使用实体数据模型向导 (Entity Framework)

创建一个绑定到 EntityDataSource 的 ListView 控件:

  1. 生成项目和数据模型。

  2. ListView 控件的一个实例拖到设计图面上。

  3. 单击 ListView 控件上的**“>”符号,并选择“选择数据源”**。

  4. 从下拉列表中选择**“<新建数据源>”**。

  5. 当**“数据源配置”向导显示后,选择“实体”,并将 SalesOrderHeaderDataSource 指定为数据源的名称,然后单击“确定”**。

  6. 选择 AdventureWorksEntities 作为**“命名连接”“DefaultContainerName”,再单击“下一步”**。

  7. 从**“EntitySetName”下拉列表框中选择 SalesOrderHeader,使“全选(实体值)”**复选框处于选中状态,并选中自动插入、更新和删除复选框。

  8. 单击**“完成”**。

    这会创建一个绑定到名为 EntityDataSource1 的 EntityDataSource 控件实例的新 ListView 控件实例。

  9. 在 SalesOrderHeaderDataSource 的**“属性”页中,查找“Include”**属性,并添加以下字符串:

    Address, Address1, Contact
    

    这可以确保对于查询返回的每个 SalesOrderHeader 对象,查询还将返回相关的 Address 和 Contact 对象。有关更多信息,请参见定义查询路径 (EntityDataSource)

  10. 在**“ListView 任务”框中单击“配置 ListView”**选项。

  11. 选中**“启用编辑”“插入”“删除”“分页”**复选框。

  12. 单击**“确定”**。

    Cc668211.alert_note(zh-cn,VS.90).gif说明:

    此时,应用程序应该可以运行。但是,以下步骤是必需的,因为在处理实体对象的导航属性时存在 Web 服务器控件设计器限制。

  13. 在**“源”**视图中打开 Default.aspx 文件。

  14. 查找并移除所有 Address.AddressID、Address1.AddressID 和 Contact.ID 实例周围的方括号 [ ]。将在 ItemTemplate 和 InsertItemTemplate 中的所有 Eval 和 Bind 函数匹配项中找到这些类型。

    重新生成项目并运行应用程序。

请参见

概念

EntityDataSource 设计器

EntityDataSource 快速入门示例

ASP.NET 数据绑定 Web 服务器控件概述

其他资源

使用 EntityDataSource 选择数据

使用对象 (Entity Framework)