ASP.NET MVC 5 学习教程:通过控制器访问模型的数据
原文 ASP.NET MVC 5 学习教程:通过控制器访问模型的数据
起飞网 ASP.NET MVC 5 学习教程目录:
- 添加控制器
- 添加视图
- 修改视图和布局页
- 控制器传递数据给视图
- 添加模型
- 创建连接字符串
- 通过控制器访问模型的数据
- 生成的代码详解
- 使用 SQL Server LocalDB
- Edit方法和Edit视图详解
- 添加查询
- Entity Framework 数据迁移之添加字段
- 添加验证
- Details 和 Delete 方法详解
在本节中,你将新建一个MoviesController 类,并编写获取电影数据的代码,使用视图模板将数据展示在浏览器中。
在进行下一步之前,你需要先编译应用程序,否则在添加控制器的时候会出错。
在解决方法资源管理器的Controllers文件夹右键,选择"添加">"支架":
图1:添加Controller的菜单

在“添加支架”对话框,选择 MVC 5 Controller with read/write actions and views, using Entity Framework,然后单击“添加”按钮。
图2:添加支架对话框

在Controller name输入框中输入 MoviesController。在Model class 选择列表中,选择 Movie (MvcMovie.Models)。在Data context class选择列表中,选择 MovieDBContext(MvcMovie.Models) 。其它几个选项保持默认值,完整的截图如下:
图3:Add Controller 对话框

在点击“Add”按钮之后(如果你遇到错误,很有可能是因为你没有编译项目),Visual Studio会创建如下文件和文件夹:
- 在Controllers 文件夹中创建了MoviesController.cs 文件
- 在Views 文件夹中创建了Movies 文件夹
- 在Views\Movies 文件夹中创建了Create.cshtml, Delete.cshtml, Details.cshtml, Edit.cshtml, 和 Index.cshtml 视图文件。
ASP.NET MVC 5 自动创建了CRUD(create, read, update, delete)操作方法,并为他们创建好了视图。你现在已经有了一个拥有完整功能的应用程序,你可以使用它来创建、列表显示、编辑和删除电影了。
运行应用程序,在浏览器中查看地址 http://localhost:xxxxx/Movies 。因为程序依赖默认的路由,所以浏览器请求的地址分配给 MoviesController 的 Index 方法。换句话说,浏览器请求http://localhost:xxxxx/Movies 地址等同于请求http://localhost:xxxxx/Movies/Index 地址。浏览器中显示一个空的电影列表,因为我们目前还没有添加。
图4:电影列表页面

添加电影
选择 “Create New”链接,在打开的页面中输入一些电影信息,然后点击“Create”按钮:
图5:创建电影页面

点击“Create”按钮会将数据提交到服务器,服务器将电影信息出入数据库。再次查看/Movies 地址,在列表中就能看到我们新添加的电影了。
图6:电影列表页面

创建更多的电影记录,然后试试编辑、详细信息和删除功能。
在后面的章节中,我们将讲解一下自动生成的代码。
本文同时发布在起飞网,原文地址:http://www.qeefee.com/mvc/mvc-5-accessing-your-models-data-from-a-controller
如果认为此文对您有帮助,别忘了支持一下哦!
ASP.NET MVC 5 学习教程:通过控制器访问模型的数据的更多相关文章
- ASP.NET MVC 5 学习教程:控制器传递数据给视图
原文 ASP.NET MVC 5 学习教程:控制器传递数据给视图 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字 ...
- ASP.NET MVC 5 学习教程:添加控制器
原文 ASP.NET MVC 5 学习教程:添加控制器 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过 ...
- ASP.NET MVC 5 学习教程:快速入门
起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...
- ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解
原文 ASP.NET MVC 5 学习教程:Details 和 Delete 方法详解 在教程的这一部分,我们将研究一下自动生成的 Details 和Delete 方法. Details 方法 打开M ...
- ASP.NET MVC 5 学习教程:添加验证
原文 ASP.NET MVC 5 学习教程:添加验证 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- ASP.NET MVC 5 学习教程:数据迁移之添加字段
原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...
- ASP.NET MVC 5 学习教程:添加查询
原文 ASP.NET MVC 5 学习教程:添加查询 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...
- ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解
原文 ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 ...
- ASP.NET MVC 5 学习教程:使用 SQL Server LocalDB
原文 ASP.NET MVC 5 学习教程:使用 SQL Server LocalDB 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 ...
随机推荐
- 基于FPGA的信号消抖
上一篇写了一个按键消抖,按键消抖需要一个计数器.可是有些信号是不需要这么负责的,仅仅是抖动而已.于是我在上一篇博文的基础上做了一点修改,于是有了这个信号消抖的程序 module sig_nojitte ...
- 捕捉小括号获取的内容保存在RegExp的$1 $2..属性中
~~~~捕捉小括号获取的内容保存在RegExp的$1 $2..属性中 var reg=/^(-?\d+)(px|pt|em|in)?$/;if(reg.test(svalue)){ ...
- 权限控制框架Spring Security 和Shiro 的总结
关于权限控制,一开始感觉比较难,后来先是接触了Spring Security 学起来也比较吃力,再是学习了Shiro,感觉简单很多. 总体来说这些框架,主要做了两个事情 Authentication: ...
- [转载]cin、cin.get()、cin.getline()、getline()、gets()函数的用法
1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: #include <iostream>using namespace std;main ( ...
- jQuery 1.9+ ajaxStart事件无效,无法被触发的原因。
AJAX 事件需要绑定到document 在jQuery 1.9中, 全局的AJAX事件(ajaxStart, ajaxStop, ajaxSend, ajaxComplete, ajaxError, ...
- JS中window.document对象
小知识点注:外面双引号,里面的双引号改为单引号: 在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中 文本框取出来 ...
- 请求接口获取到的数据其中出现null值,处理的时候导致了程序crash,解决方案如下:
第一种方法是使用分类给字典添加一个类方法,将字典中的null值全部替换为空字符串,代码如下: .h文件代码: @interface NSDictionary (DeleteNull) + (id)ch ...
- Java map取value最大值和最小值
/** * 求Map<K,V>中Value(值)的最小值 * * @param map * @return */ public static Object getMinValue(Map& ...
- C# 常用参数
主函数调用 public static void Fun_Param() { ; ; ChangeValue(x, y); //外部调用Ref函数,必须初始化变量 ChangeValue(ref x, ...
- JS拖动浮动DIV
<!DOCTYPE html> <html> <head> <meta charset="utf8"> <title>j ...