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


2.1 控制器的角色

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

URL首先告知路由機制去實例化哪個控制器,調用哪個操作方法,並為該方法提供需要的參數。然后控制器的方法決定使用哪個視圖,並對該視圖進行渲染。

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

2.2 示例應用程序:MVC Music Store

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

訪客可以按類型瀏覽相冊:

他們可以查看單個相冊並將其添加到購物車中:

他們可以查看購物車,刪除他們不再需要的任何商品:

繼續結帳將提示他們登錄或注冊用戶帳戶。

 

創建帳戶后,他們可以通過填寫運費和付款信息來完成訂單。為了簡單起見,我們正在進行一項驚人的促銷活動:如果他們輸入促銷代碼“免費”,一切都是免費的!

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

 

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

 

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應用程序的“指揮員”,它精確精密地編排用戶、模型對象和視圖的交互。同時控制器還負責響應用戶輸入,操縱正確的模型對象,然后選擇合適的視圖顯示給用戶以作為對用戶最初輸入的響應。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM