一、控制器的作用
控制器在MVC模式中負責響應用戶輸入,根據用戶的輸入來更處理型數據。控制器與應用程序的流程有關,它處理來到的數據,並提供數據數據給相關視圖。
在傳統的web程序中,URL通常與服務器硬盤上的文件有對應關系,在MVC中Url與控制器的方法有對應關系。MVC是依靠方法調用來生成結果,而不是動態生成頁面。
二、創建第一個控制器
1、創建控制器
在解決方案資源管理器中的 Controllers 文件夾點右鍵,選擇添加→控制器
輸入控制器名稱
2、創建Action
控制器中添加代碼如下:
public string Index() { return "你好 Store.Index()!"; } public string Browse() { return "你好 Store.Browse()!"; } public string Details() { return "你好 Store.Details()!"; }
3、action 的參數
在Browse action 中添加一個名稱“genre”為的string參數
public string Browse(string genre) { string message = HttpUtility.HtmlEncode("Store.Browse, Genre =" + genre); return message; }
HttpUtility.HtmlEncode是為了對用戶的輸入進行編碼,防止用戶注入js腳本或html標記,像瀏覽器中輸入/Store/Browse?Genre=<script>window.location='http://hacker.example.com'</script> 。
修改Details action用來讀取和顯示用戶輸入的id
public string Details(int id) { string message = "Store.Details, ID=" + id; return message; }
總結:控制器是MVC應用程序的管理者,它將用戶、模型對象、視圖緊密協調地聯系起來。它響應用戶輸入,控制模型對象,然后選擇正確的視圖相應用戶輸入。