原文:ASP.NET MVC 5 入门教程 (2) 控制器Controller

文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-controller.html

上一节:ASP.NET MVC 5 入门教程 (1) 新建项目

下一节:ASP.NET MVC 5 入门教程 (3) 路由route

源码下载:点我下载

顾名思义,一个MVC项目是由M-Model-模型、V-View-视图、C-Controller-控制器这三部分组成。关系图如下所示。

先撇开MVC的整体运行机制不谈,我们可以看到用户发起的请求首先会到达控制器Controller。

控制器的定义:控制器是一种类,它可以处理浏览器发来的请求,从模型(Model)中获取数据,然后将处理后的数据通过视图(View)发送给浏览器。

我们首先创建一个Controller。在VS右侧的解决方案资源管理器中右键点击Controllers然后选择添加,然后点击控制器。如下图所示。Controllers文件夹用来存放所有控制器。这个不是强制规定,但是这是约定俗成的习惯。

在弹出的窗口中选择MVC 5 控制器 - 空。点击确定。之后输入控制器的名字FirstController,然后点击确定。

VS会在Controller文件夹中创建FirstController.cs文件,这就是我们创建的第一个控制器。如下图所示。

将以下代码写入FirstController.cs文件

using System.Web.Mvc;namespace SlarkInc.Controllers
{public class FirstController : Controller{//// GET: /First/public string Index(){return "<h1>This is index page</h1>";}}
}

这里的FirstController就是一个控制器,控制器里的方法叫做动作(Action),这里的控制器就包含了一个叫做Index的Action。这个Action可以向浏览器发送一个字符串,浏览器会显示这个字符串。

编译运行整个项目。浏览器窗口会显示主页,如下图。

在主页的url后面加上First/,然后按回车请求页面。就会看到FirstController控制器的Index Action返回的字符串。如下图所示。

然后在这个路径后面再加上index/,按回车请求页面。依然是FirstController控制器的Index Action返回的字符串。如下图所示。

那么问题来了,通过url来访问Controller及其Action是怎样定义的呢?

这是通过路由来定义的。路由(route)将会在下一节讲到,敬请期待。

ASP.NET MVC 5 入门教程 (2) 控制器Controller相关推荐

  1. ASP.NET MVC 5 入门教程 (3) 路由route

    文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-route.html 上一节:ASP.NET MVC 5 入门 ...

  2. ASP.NET MVC 5 学习教程:控制器传递数据给视图

    起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...

  3. ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework

    文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一节:ASP.NET MVC ...

  4. ASP.NET MVC 5 学习教程:添加控制器

    ASP.NET MVC 5 学习教程:添加控制器 原文 ASP.NET MVC 5 学习教程:添加控制器 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控 ...

  5. ASP.NET MVC Music Store教程(2):控制器

    ASP.NET MVC Music Store教程(2):控制器 转自http://firechun.blog.163.com/blog/static/3180452220110272197830/ ...

  6. ASP.NET MVC 5 入门指南汇总

    原文:ASP.NET MVC 5 入门指南汇总 经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章 ...

  7. .net mvc html访问数据库,【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6) - 三生石上...

    图挂了的说明: 我是在Word中写的本系列文章,然后转成的HTML,所以图片都存在于 fineui.com 服务器,由于临时访问量太多,服务器喘不过气了.... 你可以稍后访问,实在是抱歉...... ...

  8. ASP.NET MVC Music Store教程(1):概述和新项目

    ASP.NET MVC Music Store教程(1):概述和新项目 转自 http://firechun.blog.163.com/blog/static/31804522201102709374 ...

  9. ASP.NET MVC 5 - 将数据从控制器传递给视图

    ASP.NET MVC 5 - 将数据从控制器传递给视图 原文:ASP.NET MVC 5 - 将数据从控制器传递给视图 在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图. ...

最新文章

  1. Eclipse-常用插件
  2. php 折叠菜单,SlashdotMenu 折叠菜单
  3. java链表交集并集,一个链表求集合并集交集的异常
  4. android 无限旋转动画,android ——不停旋转动画
  5. python中交换a和b的值_交换A和B之间的元素以获得和相等
  6. linux系统在windows看不到,Linux下怎么看不到盘符啊?
  7. linux page buffer cache深入理解
  8. Greenplum 模糊查询 实践
  9. 我以为内卷是外包的反义词!
  10. Karta:IDA源代码辅助插件
  11. c语言11章谭浩强,谭浩强 C语言 第11章 结构体.ppt
  12. QR分解-givens旋转与Householder变换
  13. 学习sift算法的原理和步骤_大白话人工智能算法-第32节集成学习之通俗理解XGBoost原理和过程
  14. NameNode故障处理之数据恢复
  15. Play框架文件上传
  16. 搜狗状告腾讯拼音输入法不正当竞争索赔2051万
  17. 一个在ns3平台基于UDP协议实现的拥塞控制仿真框架
  18. Visual C++ 2010 第4章 数组、字符串和指针
  19. java swing 外观_swing专业外观
  20. U盘, USB读卡器, U盘读卡器三者技术分析区别

热门文章

  1. 写一个函数DeleteRange删除单链表中结点的值在low 和high之间的结点
  2. 解决了一个小问题 好像把逻辑有点复杂
  3. Java内存溢出分析
  4. 一小段代码,得到项目决对路径
  5. 定时备份_如何将电脑中的文件进行定时备份?
  6. hdu4282 x^z+y^z+x*y*z=k 解的个数
  7. 【C 语言】二级指针作为输出 ( 指针输入 | 指针输出 | 二级指针 作为 函数形参 使用示例 )
  8. 【EventBus】事件通信框架 ( 取消注册 | 获取事件参数类型 | 根据事件类型获取订阅者 | 移除相关订阅者 )
  9. 【Java 并发编程】线程操作原子性问题 ( 问题业务场景分析 | 使用 synchronized 解决线程原子性问题 )
  10. 【错误记录】Google Play 上架报错 ( 我们检测到您的应用程序包含未经认证的广告SDK或未经批准用于儿童导向服务的SDK )