MVC框架 - 控制器


Asp.net MVC控制器負責控制應用程式的執行流程。當你發出請求(指請求頁)在MVC應用程式中,控制器負責返回響應這一請求。控制器可以有一個或多個動作。控制器的動作可以返回不同型別的操作結果到一個特定的請求。

控制器負責控制應用邏輯和充當檢視和模型之間的協調器。控制器通過檢視接收來自使用者的輸入,然後模型處理使用者的資料和傳遞結果返回給檢視。

建立一個控制器

要建立一個控制器,在MVC應用程式中建立一個空的MVC應用程式,然後右鍵單擊控制器(Controller)檔案夾,然後選擇選單選項Add->Controller。選擇之後顯示新增控制器對話方塊。命名為控制器DemoController。

控制器類檔案將這樣建立:

mvc_new_controller

建立一個帶有Icontroller的控制器

在MVC框架,控制器類必須實現從System.Web.Mvc名稱空間中的IController介面。

public interface IController 
{
void Execute(RequestContext requestContext);
}

這是一個非常簡單的介面。唯一的方法,執行,在呼叫時的請求是針對控制器類。所述MVC框架知道哪個控制器類已被定位於一個請求,通過讀取路由資料生成控制器屬性的值。

add_new_contoller_class

新增一個新的類檔案,並將其命名為DemoCustomController。現在修改這個類來繼承IController介面。

contoller_using_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));
        }
    }

現在,當執行應用程式,會看到這樣的結果:

call_demo_controller