我從書中得到了這行代碼。我不明白怎麼會有人知道controller.List().ViewData.Model
可能被稱爲IList?IList類型演員問題
var people = controller.List().ViewData.Model as IList<Person>;
我從書中得到了這行代碼。我不明白怎麼會有人知道controller.List().ViewData.Model
可能被稱爲IList?IList類型演員問題
var people = controller.List().ViewData.Model as IList<Person>;
你有什麼是對ASP.NET MVC控制器的調用,但不是使用它來渲染視圖,而是直接訪問ViewData。
通常在ASP.NET MVC中,您將爲您的視圖創建一個類型視圖,它將繼承System.Web.Mvc.ViewPage<T>
,在這種情況下,它將是System.Web.Mvc.ViewPage<IList<Person>>
。一旦你創建了這種類型的視圖,在視圖中你知道ViewData.Model
是IList<Person>
類型。
您發佈的電話通常用於單元測試控制器。在這種情況下,您可以直接調用控制器方法並獲取其中包含數據的ViewResult
。在編寫單元測試時,您知道ViewData.Model
的類型爲IList<Person>
,因爲這是合同 - 這是單元測試的目的,用於驗證控制器是否生成了正確類型的模型並且具有正確的數據。
你必須知道的對象模型,在大多數情況下,你所熟悉的你正在使用和IDE提供了許多有用的工具,以協助調查對象的框架。