Asp.net MVC控制器负责控制应用程序的执行流程。当你发出请求(指请求页)在MVC应用程序中,控制器负责返回响应这一请求。控制器可以有一个或多个动作。控制器的动作可以返回不同类型的操作结果到一个特定的请求。
控制器负责控制应用逻辑和充当视图和模型之间的协调器。控制器通过视图接收来自用户的输入,然后模型处理用户的数据和传递结果返回给视图。
创建一个控制器
要创建一个控制器,在MVC应用程序中创建一个空的MVC应用程序,然后右键单击控制器(Controller)文件夹,然后选择菜单选项Add->Controller。选择之后显示添加控制器对话框。命名为控制器DemoController。
控制器类文件将这样创建:
创建一个带有Icontroller的控制器
在MVC框架,控制器类必须实现从System.Web.Mvc命名空间中的IController接口。
public interface IController { void Execute(RequestContext requestContext); }
这是一个非常简单的接口。唯一的方法,执行,在调用时的请求是针对控制器类。所述MVC框架知道哪个控制器类已被定位于一个请求,通过读取路由数据生成控制器属性的值。
添加一个新的类文件,并将其命名为DemoCustomController。现在修改这个类来继承IController接口。
复制下面的代码到这一个类中:
public class DemoCustomController:IController { public void Execute(System.Web.Routing.RequestContext requestContext) { var controller = (string)requestContext.RouteData.Values["controller"]; var action = (string)requestContext.RouteData.Values["action"]; requestContext.HttpContext.Response.Write( string.Format("Controller: {0}, Action: {1}", controller, action)); } }
现在,当运行应用程序,会看到这样的结果: