41 votes

Qu'est-ce qu'une vue fortement typée dans ASP.NET MVC ?

Qu'est-ce qu'une vue fortement typée dans ASP.NET MVC ?

34voto

Darin Dimitrov Points 528142

Il s'agit d'une page aspx qui dérive de System.Web.Mvc.ViewPage<TModel> . Il est dit que cette vue est fortement typée au type TModel . En conséquence, il y a un Modèle à l'intérieur de 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 %>

alors que si votre page aspx dérivait de System.Web.Mvc.ViewPage vous devrez tirer des valeurs de ViewData la vue ne connaît plus le TModel type :

<%= (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 un tel code.

Remarquez également qu'il y a le ViewUserControl<TModel> contrepartie pour les partiels fortement typés (ASCX).

11voto

jco Points 317

Les vues fortement typées sont utilisées pour rendre des types spécifiques d'objets de modèle, au lieu d'utiliser la structure générale ViewData. En spécifiant le type de données, vous avez accès à l'IntelliSense pour la classe du modèle.

3voto

David M Points 45808

Il s'agit d'une vue qui spécifie le type de l'objet qui lui est passé comme modèle. Ainsi, au lieu d'une vue qui hérite de ViewPage il hérite de ViewPage<T> donde T est le type du modèle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X