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)将会在下一节讲到,敬请期待。