当前位置: 首页 > news >正文

ASP.NET MVC 5 学习教程:通过控制器访问模型的数据

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的菜单

image

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

图2:添加支架对话框

image

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

图3:Add Controller 对话框

image

在点击“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 。因为程序依赖默认的路由,所以浏览器请求的地址分配给 MoviesControllerIndex 方法。换句话说,浏览器请求http://localhost:xxxxx/Movies 地址等同于请求http://localhost:xxxxx/Movies/Index 地址。浏览器中显示一个空的电影列表,因为我们目前还没有添加。

图4:电影列表页面

image

添加电影

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

图5:创建电影页面

image

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

图6:电影列表页面

image

创建更多的电影记录,然后试试编辑、详细信息和删除功能。

在后面的章节中,我们将讲解一下自动生成的代码。

本文同时发布在起飞网,原文地址:http://www.qeefee.com/mvc/mvc-5-accessing-your-models-data-from-a-controller

 

如果认为此文对您有帮助,别忘了支持一下哦!

作者: 齐飞
来源: http://youring2.cnblogs.com/
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
posted on 2013-12-10 21:01 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3468171.html

相关文章:

  • 端口转发
  • 微软自家的.Net下的JavaScript引擎——ClearScript
  • 计算码流
  • 深圳街头偶遇写字人
  • html5游戏网站
  • 更新flash builder4,6 的AIR版本
  • 改修jquery支持cmd规范的seajs
  • [SharePoint][SharePoint Designer 入门经典]Chapter13 客户端Silverlight编程
  • vbRichClient5的Collection对象参考
  • 01-导航实例
  • 拉风的服务器监控工具,随时掌握服务器动态,AgileEAS.NET SOA 平台服务器监控工具集介绍...
  • DEL: 华为无线modem变无线路由器
  • windows 2003远程桌面退出后系统自动注销的解决方法
  • 电脑开机后数字键盘为关闭状态
  • HTML DOM Frame 的 src
  • [译]前端离线指南(上)
  • 【剑指offer】让抽象问题具体化
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • C++类中的特殊成员函数
  • Create React App 使用
  • java8 Stream Pipelines 浅析
  • Javascript设计模式学习之Observer(观察者)模式
  • JS 面试题总结
  • js中的正则表达式入门
  • nodejs:开发并发布一个nodejs包
  • Redis中的lru算法实现
  • vue2.0项目引入element-ui
  • 和 || 运算
  • 排序算法之--选择排序
  • 前端性能优化——回流与重绘
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 手写双向链表LinkedList的几个常用功能
  • 数据仓库的几种建模方法
  • 详解NodeJs流之一
  • MyCAT水平分库
  • raise 与 raise ... from 的区别
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​secrets --- 生成管理密码的安全随机数​
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #if #elif #endif
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)linux使用docker容器运行mysql
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (接口自动化)Python3操作MySQL数据库
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (算法)Travel Information Center
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)3D模板阴影原理