10bet网址
MySQL连接器/NET开发指南
相关的文档10bet官方网站 下载本手册

MySQL连接器/NET开发指南/连接器/净教程ASP. /教程:数据绑定。NET在实体上使用LINQ

6.4教程:ASP中的数据绑定。NET在实体上使用LINQ

在本教程中,您将创建一个ASP。NET web页面,使用实体框架映射MySQL连接器/NET将LINQ查询绑定到实体。

如果还没有这样做,请安装世界数据库示例。参见教程第6.3节,“教程:使用实体框架实体作为Windows窗体数据源”有关下载和安装此数据库的说明。

创建ASP。网的网站

在本部分教程中,您将创建一个ASP。网的网站。本网站使用世界数据库。主页面有一个下拉列表,你可以从中选择一个国家。然后在GridView控件中显示有关该国城市的数据。

  1. 从Visual Studio主菜单中选择文件,然后网站

  2. 从Visual Studio中选择安装的模板ASP。NET网站.点击好吧.默认情况下,您将看到web页面的Source视图。

  3. 单击位于Source视图面板下方的Design视图选项卡。

  4. 在“设计”视图面板中,输入一些文本来装饰空白网页。

  5. 点击工具箱.从控件列表中选择DropDownList.拖放控件到网页上文本下方的位置。

  6. DropDownList控制上下文菜单,确保使将AutoPostBack复选框已启用。这将确保在选择项时调用控件的事件处理程序。用户的选择将反过来用于填充显示数据表格控制。

  7. 从“工具箱”中选择显示数据表格控制。拖放显示数据表格控件设置到您已放置的下拉列表下面的位置。

    下图显示了Design视图选项卡中的装饰性文本和两个控件的示例。添加的GridView控件生成了一个有三列的网格(Column0Column1,Column3)和字符串美国广播公司在网格的每个单元格中。

    图6.18放置GridView控件

    内容在周围的文字中描述。

  8. 此时,建议您保存解决方案,并构建解决方案以确保没有错误。

  9. 如果运行该解决方案,您将看到显示文本和下拉列表,但该列表为空。此外,网格视图根本不会出现。添加此功能将在以下部分中进行描述。

在这个阶段,你有一个网站,将建立,但进一步的功能是需要的。的实体框架创建映射,这是下一步世界数据库转换为可以通过编程控制的实体。

创建ADO。NET实体数据模型

在本教程的这一阶段,您将添加一个ADO。NET实体数据模型到项目中,使用世界存储级的数据库。本教程中描述了执行此操作的过程第6.3节,“教程:使用实体框架实体作为Windows窗体数据源”,在此不再赘述。

使用实体LINQ查询的结果填充列表框

在本部分教程中,您将编写代码来填充DropDownList控制。当web页面加载数据时,将通过使用之前创建的模型上的LINQ查询结果来填充列表。

  1. 在“设计”视图面板中,双击任意空白区域。这就带来了Page_Load方法。

  2. 根据下面的清单示例修改相关的代码部分。

    ...公共部分类_Default: System.Web.UI.Page {worldModel. page。worldEntities我们;protected void Page_Load(对象发送器,EventArgs e) {we = new worldModel.worldEntities();if (!IsPostBack) {var countryQuery = from c in we.;select new {c.Code, c.Name};DropDownList1。DataValueField = "Code";DropDownList1。DataTextField = "Name";DropDownList1。DataSource = countryQuery.ToList(); DataBind(); } } ...

    列表控件只需要在页面第一次加载时填充。条件代码确保如果页面随后被重新加载,列表控件不会被重新填充,这将导致用户选择丢失。

  3. 保存解决方案,构建并运行它。您应该看到列表控件已经填充。你可以选择一个项目,但是GridView控件还没有出现。

此时,您有了一个工作的下拉列表控件,由实体数据模型上的LINQ查询填充。

使用实体LINQ查询填充网格视图控件

在本教程的最后一部分中,您将使用实体数据模型上的LINQ查询填充网格视图控件。

  1. 在Design视图中,双击DropDownList控制。此操作导致其SelectedIndexChanged要显示的代码。当用户在列表控件中选择项并因此生成AutoPostBack事件时,将调用此方法。

  2. 根据下面的清单示例修改相关的代码部分。

    ...protected void DropDownList1_SelectedIndexChanged(对象发送者,EventArgs e) {var cityQuery =从c在我们。c.CountryCode == DropDownList1。select new {c.Name, c.Population, c.CountryCode};GridView1。DataSource = cityQuery;DataBind ();}……

    网格视图控件由实体数据模型上的LINQ查询的结果填充。

  3. 保存、构建并运行解决方案。当你选择一个国家时,你会看到它的城市显示在GridView控件中。下图显示了从列表框中选择的比利时和一个有三列的表格:的名字人口,CountryCode

    图6.19工作网站

    内容在周围的文字中描述。

在本教程中,您已经看到了如何创建一个ASP。NET网站,您还了解了如何在实体数据模型上使用LINQ查询访问MySQL数据库。