Qu’est-ce que View fortement typé dans ASP.NET MVC?
C’est une page aspx qui dérive de System.Web.Mvc.ViewPage
. On dit que cette vue est fortement typée dans le type TModel
. En conséquence, il y a une propriété Model dans cette vue qui est de type TModel
et vous permet d’accéder directement aux propriétés du modèle comme ceci:
<%= Model.Name %> <%= Model.Age %>
où, comme si votre page aspx dérivée de System.Web.Mvc.ViewPage
vous deviez extraire des valeurs de ViewData
la vue ne connaissait plus le type TModel
:
<%= (string)ViewData["Name"] %> <%= (int)ViewData["Age"] %>
ou pire encore:
<%= ((SomeModelType)ViewData["model"]).Name %>
et il n’y a pas de sécurité de compilation dans ce code.
Notez également qu’il y a l’ ViewUserControl
pour les partiels fortement typés (ASCX).
Les vues fortement typées sont utilisées pour rendre des types spécifiques d’objects de modèle, au lieu d’utiliser la structure ViewData générale. En spécifiant le type de données, vous accédez à IntelliSense pour la classe de modèle.
C’est une vue qui spécifie le type d’object qui lui a été transmis en tant que modèle. Ainsi, au lieu d’une vue héritant de ViewPage
, elle hérite de ViewPage
où T
est le type du modèle.