Asp.net MVC控制器負責控制應用程式的執行流程。當你發出請求(指請求頁)在MVC應用程式中,控制器負責返回響應這一請求。控制器可以有一個或多個動作。控制器的動作可以返回不同型別的操作結果到一個特定的請求。
控制器負責控制應用邏輯和充當檢視和模型之間的協調器。控制器通過檢視接收來自使用者的輸入,然後模型處理使用者的資料和傳遞結果返回給檢視。
要建立一個控制器,在MVC應用程式中建立一個空的MVC應用程式,然後右鍵單擊控制器(Controller)檔案夾,然後選擇選單選項Add->Controller。選擇之後顯示新增控制器對話方塊。命名為控制器DemoController。
控制器類檔案將這樣建立:
在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)); } }
現在,當執行應用程式,會看到這樣的結果: