`
tansitongba
  • 浏览: 503433 次
文章分类
社区版块
存档分类
最新评论

显示数据库表中的数据

 
阅读更多

本教程的目的是向你介绍如何在ASP.NET MVC程序里显示一个数据库数据的HTML表格。首先,介绍了如何直接在视图中格式化数据库记录。接着,介绍了格式化数据库记录时如何利用 Partial。

创建模型类

我们将显示 Movies 数据库表中的记录集。Movies 数据库表包含下面的列:

列名称

数据类型

允许空值

Id Int False
Title Nvarchar(200) False
Director NVarchar(50) False
DateReleased DateTime False

为了在我们的ASP.NET MVC程序中表示Movies表,我们需要创建一个模型类。在这篇教程中,我们使用 Microsoft Entity Framework 来创建。

然而, 明白很重要的一点是,你可以在ASP.NET MVC程序中使用各种不同的技术来与数据库交互,包括 LINQ to SQL, NHibernate, 或者ADO.NET.

参照以下步骤启动实体数据模型向导:

  1. 在解决方案资源管理器上右键 Models 文件夹,选择“添加”,“新建项”。
  2. 选择“数据”分类,选择 ADO.NET Entity Data Model模板。
  3. 为你的数据模型命名为 MoviesDBModel.edmx 点击“添加”按钮。

点击“添加”按钮后,将出现“实体数据模型向导”对话框 (见图 1). 参照以下步骤完成向导:

  1. 选择模型对象 这一步, 选择从数据库生成 选项.
  2. 选择你的数据连接 这一步,使用 MoviesDB.mdf 数据连接并命名为 MoviesDBEntities。点击下一步 按钮。
  3. 选择你的数据库对象 这一步, 展开“表”节点, 选择 Movies 表。输入命名空间 Models点击完成按钮。

图01:创建 LINQ to SQL 类(点击查看完整大小)

完成“实体数据模型向导”后,“实体数据模型设计器”出现。设计器将显示 Movies实体 (见图 2).

图02: 实体数据模型设计器(点击查看完整大小)

在继续之前我们要做点小改动。实体数据向导生成的模型类名为 Movies 用以表示 Movies数据库表。由于我们用 Movies 类来表示一个特定的电影,所以我们要把类名改为 Movie而不是 Movies (单数而不是复数).

在设计器界面上双击类名并将类名从Movies改为 Movie。更改完后,点击保存按钮 (软盘图标)来生成 Movie 类。

创建Movies 控制器

既然我们已经可以表示我们的数据库记录了,那么就可以创建控制器来返回电影的集合了。在 Visual Studio 解决方案资源管理器窗口中,右键点击 Controllers 文件夹并选择菜单项 添加, Controller (见图3).

图03:添加 Controller 菜单(点击查看完整大小)

Add Controller 对话框显示后, 输入控制器名 MovieController (见图4). 点击 Add 按钮添加新控制器。

图04: Add Controller 对话框(点击查看完整大小)


我们需要修改Movie控制器暴露的 Index() 操作以返回一组数据库记录。见代码1。

代码1 – Controllers/MovieController.cs

在代码 1, MoviesDBEntities 类用来表示 MoviesDB 数据库。 要使用这个类,你需要导入 MvcApplication1.Models 命名空间:

using MvcApplication1.Models;

表达式entities.MovieSet.ToList() 从Movies数据库表返回一组所有的电影。

创建视图

在HTML表格显示一组数据库记录的最简单方法是利用Visual Studio提供的脚手架。

选择菜单项 生成, 生成解决方案 运行你的程序。在打开 Add View 对话框之前你必须生成你的程序,否则你的数据类不会显示在对话框中。

在 Index() 操作上右键,选择菜单项 Add View (见图 5).

图05: 添加视图(点击查看完整大小)

Add View 对话框中, 勾选上 Create a strongly-typed view. 选择 Movie 类作为 view data class. 选择 List作为 view content (见图 6). 选择这些选项将生成一个显示一组电影的强类型视图。

图06: Add View 对话框(点击查看完整大小)

点击Add 按钮,代码 2 的视图自动生成。这个视图包含了需要遍历movies集合和显示movie每个属性的代码。

代码2 – Views/Movie/Index.aspx

你可以选择菜单项 调试,启动调试 (或按F5建)来运行你的程序。运行程序将启动 Internet Explorer。如果你导航至 /Movie URL 那么你会看到如图7的页面。

图07: 电影表(点击查看完整大小)

如果你不喜欢图7中关于数据库表格的样式那么你可以简单地修改 Index 视图。例如,你可以将 DateReleased表头改为 Date Released

用Partial创建模板

当视图变得太复杂,将视图分解为部分是个好主意。使用partials使你的视图更易懂且更易维护。我们将创建一个partial作为模板来格式化每个 movie数据库记录。

参照以下步骤创建 partial:

  1. 右键点击 Views/Movie 文件夹选择菜单项 Add View.
  2. 勾选 Create a partial view (.ascx).
  3. 命名为 MovieTemplate.
  4. 勾选 Create a strongly-typed view.
  5. view data class 中选择Movie类。
  6. view content 选择Empty。
  7. 点击Add 按钮添加 partial 到你的项目中。

完成这些步骤后,修改 MovieTemplate partial使它如代码 3.

代码3 – Views/Movie/MovieTemplate.ascx

代码3 中的partial包含一行记录的模板。

代码4中修改后的Index 视图使用 MovieTemplate partial.

代码4 – Views/Movie/Index.aspx

代码4中的视图包含一个 foreach 循环,遍历所有movies。对于每一个movie,MovieTemplate partial 用来格式化电影。MovieTemplate 通过调用 RenderPartial() helper方法呈现。

修改后的Index 视图呈现了完全相同的数据库记录的HTML表。然而,视图却被大大地改变了。

RenderPartial() 方法与其它大多数 helper方法不同,因为它不返回一个字符串。因此,你必须用<% Html.RenderPartial(); %> 而不是<%= Html.RenderPartial(); %>来调用RenderPartial()方法。

原文地址:http://www.asp.net/learn/mvc/tutorial-11-cs.aspx

分享到:
评论

相关推荐

    qt TableView显示数据库表中的数据

    在Qt框架中,显示数据库表中的数据通常涉及到多个步骤,包括连接数据库、执行查询语句、将查询结果映射到TableView组件以及自定义数据模型。以下是对这些关键知识点的详细说明: 1. **Qt与数据库连接**:Qt提供了一...

    Android用listview显示数据库中的数据

    在Android开发中,将数据库中的数据展示在ListView上是一项常见的任务。这通常涉及到与后端服务器的交互,数据的获取,以及数据适配器的使用。以下是对这一过程的详细阐述: 首先,我们需要建立Android应用与后台...

    C#读取数据库中表格数据

    在IT行业中,数据库管理和数据处理是至关重要的任务。在C#编程环境中,我们可以利用ADO.NET框架来高效地与SQL数据库进行交互,实现如标题所述的“C#读取数据库中表格数据”的功能。本篇文章将深入探讨如何用C#按秒...

    使用UltraWebGrid控件在网页上展示Oracle数据库表结果数据.pdf

    在本文中,我们将讨论如何使用Infragistics公司的NetAdvantage WebClient 2009.1组件中的UltraWebGrid控件在网页上展示Oracle数据库表结果数据。该控件提供了一个高效、方便、强大的功能,帮助开发者快速实现数据...

    spring boot做的显示数据库的数据

    标题 "spring boot做的显示数据库的数据" 暗示了我们正在讨论如何使用Spring Boot框架来展示从MySQL数据库获取的信息。Spring Boot是Java生态系统中的一个流行框架,它简化了创建独立的、生产级别的基于Spring的应用...

    用listbox 显示数据库中的数据

    要实现`ListBox`显示数据库中的数据,我们需要以下几个步骤: 1. **数据库连接**:使用ADO.NET(如`SqlConnection`)建立与SqlServer 2005的连接。这通常涉及设置连接字符串,包含服务器名称、数据库名、用户名和...

    从数据库中读取数据并显示在RichTextBox

    ### 从数据库中读取数据并显示在RichTextBox #### 概述 本文将详细介绍如何在C#应用程序中实现从数据库读取数据,并将其显示在`RichTextBox`控件中的过程。这一技术常用于需要展示从数据库获取的信息的应用场景,如...

    通过JSP将数据库中的数据显示到网页上

    通过JSP将数据库中的数据显示到网页上,主要涉及以下几个关键步骤: 1. 配置JDBC连接,包括数据库URL、用户名和密码。 2. 使用JDBC API连接MySQL数据库。 3. 编写SQL查询,执行并获取结果集。 4. 在JSP中处理结果集...

    web端显示MySQL数据库中内容

    总结来说,"web端显示MySQL数据库中内容"是通过JSP和MySQL数据库相结合,实现动态生成Web页面,展示数据库中的信息。项目不仅关注功能实现,还注重用户界面的美化,通过背景显示提升了整体的视觉效果。这样的技术...

    B利用DataGrid控件显示数据库中数据信息

    本教程将深入探讨如何利用DataGrid控件来显示数据库中的数据信息。 1. **DataGrid控件简介** DataGrid控件是.NET框架的一部分,适用于Windows Forms应用程序。它提供了一个二维表格,可以用来展示结构化数据,比如...

    C#winform显示数据库表的数据

    很简单的一段代码,可以用于连接数据库并将其中某个表的数据显示到textBox里或者datagridview显示。

    根据数据字典生成数据库表

    3. **添加字段说明**:在数据库表的元数据中,可以为每个字段添加注释,这通常是通过ALTER TABLE语句的COMMENT子句完成的。这些注释就是数据字典中的字段说明,有助于后期维护和查询。 4. **执行SQL脚本**:将生成的...

    数据库数据的显示

    本节将详细讲解如何在应用程序中显示数据库中的数据,并实现查看、添加、修改和删除等功能。 首先,我们来看4.1.1模块的功能描述。在这个模块中,界面被设计为包含姓名、出生年月、性别、Email、家庭住址、联系电话...

    c# 如何删除datagridview中数据并删除数据库中的数据

    根据提供的文件信息,本文将详细解释如何在C#中实现删除DataGridView中的数据并同步删除数据库中的对应记录。此过程涉及到了解DataGridView控件的基本操作、SQL命令执行以及与数据库交互等关键技术点。 ### 标题...

    用ListBox 显示数据库中的数据

    例如,如果你想要显示数据库中某个表的所有记录,可以编写如下的SQL语句: ```sql SELECT * FROM TableName; ``` 在C#代码中,这会是: ```csharp // 创建SQL命令 string query = "SELECT * FROM TableName"; ...

    C# 连接MySql数据库,显示数据表

    在C#编程中,连接MySQL数据库并显示数据表是一个常见的任务,尤其对于初学者来说,了解这个过程至关重要。本文将详细讲解如何使用C#连接MySQL数据库,并将数据映射到界面上显示。 首先,我们需要安装必要的库。在C#...

    labview 数据库的表格创建,数据更新,数据删除,数据查询,数据插入,数据显示。

    在LabVIEW中与数据库交互是常见的需求,本教程将详细介绍如何使用LabVIEW进行数据库的表格创建、数据更新、数据删除、数据查询以及数据插入,并展示如何显示这些数据。 首先,我们需要理解LabVIEW中的数据库接口。...

    javaweb_分页显示数据库内容

    Java Web 分页显示数据库内容是指在 Java Web 应用程序中实现在数据库内容的分页显示。分页是指将大量的数据或记录分割成多个页面,以便于用户逐页浏览和查看。分页在数据库查询和显示方面非常重要,因为它可以减少...

    将数据库数据显示到TreeVIEW中。

    在设计程序时,经常使用TreeView控件树状显示数据。例如在WINDOWS资源管理器中,利用TreeView控件显示层次。TreeView控件显示数据的好处是层次清晰,本实例利用TreeView控件显示商品信息。

    一个关于数据库显示的数据列表

    MFC包含了丰富的UI组件,如对话框、控件等,可以用来显示数据库数据。 标签中的“VC 数据库 数据列表”暗示了我们可能在使用VC++的MFC库来创建一个带有数据库连接的用户界面,其中包含用于显示数据列表的组件。例如...

Global site tag (gtag.js) - Google Analytics