一.摘要
本文講解在Action中向View傳遞Model的幾種方式.以及View獲取Model以後如何編寫顯示邏輯.還詳細 的介紹了ASP.NET MVC框架提供的Html Helper類的使用及如何為Html Helper類添加自定義擴展方法.
二.承上啟下
上一篇文章中我們學習了Controller處理一次請求的全過程.在Controller的Action中, 會傳遞數據給 View,還會通知View對象開始顯示.所以Model是在Action中獲取的, 並由Action傳遞給View. View對象接 到Action通知後會使用自己的顯示邏輯展示頁面.
下面首先讓我們學習如何將Model傳遞給View對象.
三.傳遞數據給View
在MVC中,Model對象是指包含了數據的模型. Controller將Model傳遞給View以後, View對象中不應該 做任何的業務邏輯處理, 僅僅根據Model對象做一些顯示邏輯的處理.
傳遞Model對象時, 我們有兩種選擇:
1.傳遞一個弱類型的集合, 即成員為object類型的集合, 在View中需要將每個成員轉換成我們需要 的類型,比如int, string,自定義類型等.
2.傳遞強類型對象, 這些類型是我們自定義的. 在View中直接使用我們傳遞的強類型對象, 不需要再 轉換類型.
如果讓我們自己設計一個MVC框架, 我們也會想到上面兩種實現方式,接下來看看在ASP.NET MVC中的實 現.
1.傳遞弱類型的集合
(1) 如何傳遞
ASP.NET MVC框架定義了ViewContext類, 直譯後是"View上下文", 其中保存和View有關的所有數據, 其中Model對象也封裝在了此類型中.
ViewContext對象包含三個屬性:
IView View
ViewDataDictionary ViewData
TempDataDictionary TempData