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