3.1控制器的角色

       MVC模式中的控制器(Controller)主要用于响应用户的输入,并修改相应的模型(Module)。它主要关注应用程序流,对输入的数据进行处理,输出相应视图(View)。URL告知路由器去实例化哪个控制器,调用哪个方法,并为该方法提供需要的参数,然后由控制器的方法决定哪个视图,并随后对该视图进行渲染。

     URL不与存储在WEB服务器磁盘上的文件有直接对应关系,而与控制器的一个方法有关。ASP.NET MVC实现对MVC模式中的前端控制器进行了改造,路由子系统在最前面,其次是控制器。

3.2控制器基础

3.2.1简单示例:Home Controller

使用Internet Application模板创建的项目包含两个控制器类:

1、HomeController----负责网站根目录下的Home Page和About Page

2、AccountController—负责对账户请求进行处理

在VS的项目中,展开/Controller文件夹,打开HomeController.cs文件,截图如下:

 ASP.NET MVC控制器作用

它是一个相当简单的类,继承了Controller基类,Index方法负责访问首页时进行处理,并调用Index视图进行输出。

经验总结:

1、不需要做任何额外配置,浏览到/Home/Index就可以执行IndexController类中的Index方法,这就是操作中的路由。

2、 控制器类继承了System.Web.Mvc.Controller.

3、控制器是MVC的核心,任何用户输入都需要经过控制器处理,由控制器决定调用哪个方法,返回视图或String

3.2.2控制器操作中的参数

控制器中方法参数可以通过以下两种方法进行传递:

1、通过URL中的查询字符串进行传递参数,如:

//Get:/Store/Browse?genre=Disco

Public string Browser(string genre)

{

   Return genre;

}

2、将参数嵌入到URL中进行传递,如:

//GET:/Store/Details/5

Public string Detail(int id)

{

   Return id.toString();

}

上述两者参数实现原理:路由器把URL映射成相应操作,包括传递的参数、调用的控制器、方法以及视图的输出。

总结:

控制器是MVC应用程序的指挥员,它精心紧密的编排用户、模块对象和视图的交互。它同时响应用户的输入,调用正确的模块,输出合适的视图,来响应用户的请求。

分类:

技术点:

相关文章: