控制器Controller

源码下载:点我下载

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