在本教程中,您将创建一个ASP。NET web页面,使用实体框架映射MySQL连接器/NET将LINQ查询绑定到实体。
如果还没有这样做,请安装世界
数据库示例。参见教程第6.3节,“教程:使用实体框架实体作为Windows窗体数据源”有关下载和安装此数据库的说明。
创建ASP。网的网站
在本部分教程中,您将创建一个ASP。网的网站。本网站使用世界
数据库。主页面有一个下拉列表,你可以从中选择一个国家。然后在GridView控件中显示有关该国城市的数据。
从Visual Studio主菜单中选择
, ,然后 .从Visual Studio中选择安装的模板ASP。NET网站.点击 .默认情况下,您将看到web页面的Source视图。
单击位于Source视图面板下方的Design视图选项卡。
在“设计”视图面板中,输入一些文本来装饰空白网页。
点击工具箱.从控件列表中选择DropDownList.拖放控件到网页上文本下方的位置。
从DropDownList控制上下文菜单,确保使将AutoPostBack复选框已启用。这将确保在选择项时调用控件的事件处理程序。用户的选择将反过来用于填充显示数据表格控制。
从“工具箱”中选择显示数据表格控制。拖放显示数据表格控件设置到您已放置的下拉列表下面的位置。
下图显示了Design视图选项卡中的装饰性文本和两个控件的示例。添加的GridView控件生成了一个有三列的网格(
Column0
,Column1
,Column3
)和字符串美国广播公司
在网格的每个单元格中。此时,建议您保存解决方案,并构建解决方案以确保没有错误。
如果运行该解决方案,您将看到显示文本和下拉列表,但该列表为空。此外,网格视图根本不会出现。添加此功能将在以下部分中进行描述。
在这个阶段,你有一个网站,将建立,但进一步的功能是需要的。的实体框架创建映射,这是下一步世界
数据库转换为可以通过编程控制的实体。
创建ADO。NET实体数据模型
在本教程的这一阶段,您将添加一个ADO。NET实体数据模型到项目中,使用世界
存储级的数据库。本教程中描述了执行此操作的过程第6.3节,“教程:使用实体框架实体作为Windows窗体数据源”,在此不再赘述。
使用实体LINQ查询的结果填充列表框
在本部分教程中,您将编写代码来填充DropDownList控制。当web页面加载数据时,将通过使用之前创建的模型上的LINQ查询结果来填充列表。
在“设计”视图面板中,双击任意空白区域。这就带来了
Page_Load
方法。根据下面的清单示例修改相关的代码部分。
...公共部分类_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(); } } ...
列表控件只需要在页面第一次加载时填充。条件代码确保如果页面随后被重新加载,列表控件不会被重新填充,这将导致用户选择丢失。
保存解决方案,构建并运行它。您应该看到列表控件已经填充。你可以选择一个项目,但是GridView控件还没有出现。
此时,您有了一个工作的下拉列表控件,由实体数据模型上的LINQ查询填充。
使用实体LINQ查询填充网格视图控件
在本教程的最后一部分中,您将使用实体数据模型上的LINQ查询填充网格视图控件。
在Design视图中,双击DropDownList控制。此操作导致其
SelectedIndexChanged
要显示的代码。当用户在列表控件中选择项并因此生成AutoPostBack事件时,将调用此方法。根据下面的清单示例修改相关的代码部分。
...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查询的结果填充。
保存、构建并运行解决方案。当你选择一个国家时,你会看到它的城市显示在GridView控件中。下图显示了从列表框中选择的比利时和一个有三列的表格:
的名字
,人口
,CountryCode
.
在本教程中,您已经看到了如何创建一个ASP。NET网站,您还了解了如何在实体数据模型上使用LINQ查询访问MySQL数据库。