ASP.NET MVC5 高級編程-學習日記-第二章 控制器

2.1 控制器的角色

MVC模式中的控制器(Controller)主要負責響應用戶的輸入,冰球在響應時修改模型(Model)。經過這種方式,MVC模式中的控制器主要關注的是應用程序流、輸入數據的處理,以及對相關視圖(View)輸出數據的提供。服務器

URL首先告知路由機制去實例化哪一個控制器,調用哪一個操做方法,併爲該方法提供須要的參數。而後控制器的方法決定使用哪一個視圖,並對該視圖進行渲染。工具

URL並不用存儲在Web服務器磁盤上的文件有直接對應關係,而是與控制器類的方法有關。網站

2.2 示例應用程序:MVC Music Store

咱們將要構建的應用程序是一個簡單的音樂商店。該應用程序有三個主要部分:購物,結賬和管理。spa

訪客能夠按類型瀏覽相冊:3d

他們能夠查看單個相冊並將其添加到購物車中:對象

他們能夠查看購物車,刪除他們再也不須要的任何商品:blog

繼續結賬將提示他們登陸或註冊用戶賬戶。繼承

 

建立賬戶後,他們能夠經過填寫運費和付款信息來完成訂單。爲了簡單起見,咱們正在進行一項驚人的促銷活動:若是他們輸入促銷代碼「免費」,一切都是免費的!索引

訂購後,他們會看到一個簡單的確認屏幕:事件

 

除了面向客戶的頁面,咱們還將構建一個管理員部分,其中顯示管理員能夠建立,編輯和刪除相冊的相冊列表:

 

2.3 控制器基礎

2.3.1 簡單示例:Home Controller

  • HomeController:負責網站根目錄下的「home page」、「about page」和「contact page」。
  • AccountController:響應與帳戶相關的請求,好比登陸和帳戶註冊。

注意:這是一個至關簡單的類,它繼承了Controller基類。HomeController類的Index方法負責決定當瀏覽網站首頁時觸發的事件。

2.3.2 建立第一個控制器

首先建立一個控制器來處理有關瀏覽音樂目錄的URL。這個控制器支持如下三個功能:

  • 索引頁面列出商品店裏麪包含的音樂類型。
  • 單擊一個流派,跳轉到一個列出改流派下全部音樂專輯的頁面。
  • 單擊一個專輯,跳轉到一個列出有關該專輯全部信息的頁面。

1.建立新控制器

添加一個新的控制器StoreController

2.編寫操做方法

 新建立的StoreController控制器已經有了一個Index方法,下面將利用這個Index方法實如今頁面上列出音樂商店裏全部歌曲流派的功能。另外,還須要添加兩個額外的方法來實現上述其餘兩項功能,這兩個方法分別是Browse和Details。

 

3.經驗總結

  • 不須要作任何額外配置,瀏覽/Store/Details就能夠執行StoreController類中的Details方法,這就是操做中的路由。
  • 儘管是使用VS工具來建立這個控制器類,但它的確是一個很是簡單的類。判別一個類是不是控制器類的惟一方式,就是查看該類是否繼承自System.Web.Mvc.Controller。
  • 已經利用了一個控制器在瀏覽中顯示了文本----沒有用到模型和視圖。控制器是真正的核心。每個請求都必須經過控制器處理,而有的請求是不須要模型和視圖的。

2.3.3 控制器操做的參數

前面的例子寫出的是常量字符串。下一步就是讓它們經過響應URL傳進來的參數動態地執行操做。

 

控制器經過URL被調用,而後執行自定義的代碼並返回一個視圖。

2.4 小結

控制器是MVC應用程序的「指揮員」,它精確精密地編排用戶、模型對象和視圖的交互。同時控制器還負責響應用戶輸入,操縱正確的模型對象,而後選擇合適的視圖顯示給用戶以做爲對用戶最初輸入的響應。

相關文章
相關標籤/搜索