Ce que vous avez est un appel à un contrôleur ASP.NET MVC, mais au lieu de l'utiliser pour afficher une vue, vous accédez directement à ViewData.
Typiquement dans ASP.NET MVC vous allez créer une vue typée pour vos vues qui héritera de System.Web.Mvc.ViewPage<T>
et dans ce cas ce sera System.Web.Mvc.ViewPage<IList<Person>>
. Une fois que vous avez créé cette vue typée, dans la vue, vous savez que ViewData.Model
est de type IList<Person>
.
Les appels comme celui que vous avez posté sont couramment utilisés dans les tests unitaires des contrôleurs. Dans ce cas, vous appelez directement la méthode du contrôleur et récupérez le ViewResult
qui contient les données. Lorsque vous écrivez le test unitaire, vous savez que ViewData.Model
est de type IList<Person>
parce que c'est le contrat - c'est à cela que sert le test unitaire, pour vérifier que le contrôleur a généré un modèle du bon type et qu'il a les bonnes données.