6.Controller

Controller:

这一节,学习ASP.NET MVC 中 Controller 的相关内容。

MVC体系中的 Controller 处理任何传入的 URL 请求。Controller 是一个类,继承自基类 System.Web.Mvc.Controller 。Controller 类包含公共方法 Action 。Controller 和它的 action 方法处理传入的浏览器请求,获取必要的 model 数据和返回恰当的请求。

在 ASP.NET MVC 中,每一个 Controller 类名必须以单词 “Controller” 结尾。例如,home 页的 controller 必须是 HomeController,student的 Controller 必须是 StudentController 。每一个 Controller 类必须位于 Controller 文件夹中。

当 Controller 类名后面没有 “Controller” 时会抛出 "The resource cannot be found" 错误。

添加新的 Controller:

现在,让我们用 Visual Studio 2013添加一个新的空 Controller。

在先前的章节中我们创建了新的 MVC 应用程序,其中创建了一个默认的 HomeController。在这,我们将创建一个新的 StudentController。

在 Visual Studio 中,右击 Controller 文件夹->选择 添加 -> 单击 控制器

6.Controller_第1张图片
Add New Controller

这将打开添加支架对话框,如下所示。

注意:支架是 ASP.NET web 应用程序中的一个自动代码生成框架。支架减少了在 MVC 框架中 Controller ,View 等的开发时间。你可以依据你自己的架构和编码标准生成T4模板来开发自定义的支架模板。

6.Controller_第2张图片
Controller

添加支架对话框包含不同的模板来创建一个新的 Controller。稍后我们将学习其他模板。现在,选择"MVC 5 控制器- 空" 然后点击 添加。将打开添加Controller 对话框,如下所示。

6.Controller_第3张图片

在添加控制器对话框,输入控制器名称。记住,控制器名称必须以Controller结尾。我们输入 StudentController 然后点击添加

6.Controller_第4张图片

这将在Controller文件夹中创建 StudentController.cs文件,是一个包含 Index方法的StudentController 类,如下。


6.Controller_第5张图片

如上,StudentController类继承自 Controller类。MVC中的每一个Controller必须继承这个抽象Controller类。这个基类包含很多方法。

现在,我们让上面StudentController中的index方法返回一个给定的字符串。修改Index的返回类型为string,然后返回一个字符串。如下。我们在下一节学习ActionResult。


6.Controller_第6张图片

我们在路由器那一节中看到URL请求http://localhost/student 或者 http://localhost/student/index 被StudentController的Index()方法处理。因此我们在浏览器中调用它,然后将看到如下页面。


6.Controller_第7张图片

需记住的要点:

1.Controller处理传入的URL请求。MVC引擎基于URL和配置好的路由发送请求到恰当的Controller和action方法。

2.所有Controller类中的公共方法被称作Action方法。

3.Controller类必须继承自 System.Web.Mvc.Controller类。

4.Controller类的名称必须以 "Controller" 结尾。

5.新Controller可以被不同的支架模板创建。你也可以创建自己的支架模板。

你可能感兴趣的:(6.Controller)