使用 MVC、实体框架和 ASP.NET 基架,可以创建一个 Web 应用程序来提供现有数据库的接口。 本教程系列介绍如何自动生成代码,使用户能够显示、编辑、创建和删除驻留在数据库表中的数据。 生成的代码对应于数据库表中的列。
本教程重点介绍如何使用 ASP.NET 基架来生成控制器和视图。
在本教程中,你将了解:
向新视图添加链接
显示学生视图
显示注册视图
创建 Web 应用程序和数据模型
使用 Visual Studio 2022 时,请安装
Net Framework 项目和项模板
。 有关详细信息,请参阅
此 GitHub 问题
。
你已准备好生成代码,为模型类提供标准数据操作。 通过添加基架项来添加代码。 可以添加的基架类型有很多选项:在本教程中,基架将包含一个控制器和视图,这些控制器和视图对应于你在上一节中创建的学生和注册模型。
为了保持项目中的一致性,需要将新控制器添加到现有的
Controllers
文件夹。 右键单击“
控制器
”文件夹,然后选择“
添加新
>
基架项目
”。
使用“实体框架”选项,选择具有视图的 MVC 5 控制器
。 此选项将生成控制器和视图,用于更新、删除、创建和显示模型中的数据。
为模型类选择
“学生 (ContosoSite.Models)
”,并为上下文类选择
ContosoUniversityDataEntities (ContosoSite.Models)
。 将控制器名称保留为
StudentsController
。
单击“添加”。
如果收到错误,可能是因为未在上一部分中生成项目。 如果是这样,请尝试生成项目,然后再次添加基架项。
代码生成过程完成后,你将在项目的“控制器”和“视图
学生
”文件夹中看到新的
控制器
和
视图
>。
再次执行相同的步骤,但为
Enrollment
类添加基架。 完成后,你将有一个
EnrollmentsController.cs
文件,以及名为
“注册”的
“视图
”下的文件夹,其中包含“创建”、“删除”、“详细信息”、“编辑”和“索引”视图。
向新视图添加链接
若要更轻松地导航到新视图,可以向学生和注册的索引视图添加几个超链接。 在
Views
>
Home
>
Index.cshtml
中打开文件,该文件是网站的主页。 在 jumbotron 下面添加以下代码。
@Html.ActionLink("List of students", "Index", "Students")<br />
@Html.ActionLink("List of enrollments", "Index", "Enrollments")
对于 ActionLink 方法,第一个参数是要在链接中显示的文本。 第二个参数是 操作,第三个参数是控制器的名称。 例如,第一个链接指向 StudentsController 中的“索引”操作。 实际超链接是从这些值构造的。 第一个链接最终会将用户带到
Views/Students
文件夹中的
Index.cshtml
文件。
显示学生视图
你将验证添加到项目的代码是否正确显示学生列表,并允许用户编辑、创建或删除数据库中的学生记录。
右键单击“
视图
>
主页
>
索引.cshtml
”文件,然后选择“
在浏览器中查看
”。 在应用程序主页上,选择“
学生列表
”。
在
“索引
”页上,注意学生列表和用于修改此数据的链接。 选择“
新建”
链接并为新学生提供一些值。 单击“
创建
”,并注意到新学生已添加到列表中。
返回“
索引
”页,选择
“编辑”
链接,然后更改学生的某些值。 单击“
保存
”,并注意到学生记录已更改。
最后,选择
“删除”
链接,并通过单击“
删除
”按钮确认要删除记录。
在未编写任何代码的情况下,你添加了对 Student 表中的数据执行常见操作的视图。
你可能已经注意到,字段的文本标签基于数据库属性 (,例如
LastName
) 这不一定是要在网页上显示的内容。 例如,你可能更倾向于将标签设置为
“姓氏
”。 本教程稍后将修复此显示问题。
显示注册视图
数据库包括学生表和注册表之间的一对多关系,以及课程表和注册表之间的一对多关系。 注册视图可正确处理这些关系。 导航到站点的主页,选择
“注册列表”
链接,然后选择
“新建”
链接。
视图显示用于创建新注册记录的窗体。 特别要注意的是,窗体包含
CourseID
下拉列表和
StudentID
下拉列表。 两者都填充了相关表中的值。
此外,根据字段的数据类型自动应用所提供的值的验证。
成绩
需要数字,因此,如果尝试提供不兼容的值,将显示一条错误消息:
“成绩”字段必须是数字。
你已验证自动生成的视图是否允许用户使用数据库中的数据。 在本系列的下一教程中,你将更新数据库并在 Web 应用程序中进行相应的更改。
在本教程中,你将了解:
添加了基架
添加了指向新视图的链接
显示的学生视图
显示的注册视图
转到下一教程,了解如何更改数据库。
更改数据库