2009-02-05 8 views
3

Dans ASP.NET MVC, comment le contrôleur transmet-il les informations entre le modèle et la vue?Comment le contrôleur transmet-il les informations entre le modèle et la vue?

Disons que j'ai une liste de joueurs de baseball dans ma base de données. Après avoir interrogé ces joueurs à l'aide de LINQ dans le contrôleur, comment puis-je transmettre cette information (ma liste de joueurs de baseball et leurs statistiques)?

Et après je les passe sur la vue, comment puis-je utiliser le code en ligne dans les vues html pour faire une boucle et l'afficher?

Répondre

4

Le contrôleur possède un champ ViewData que vous pouvez utiliser. C'est un dictionnaire et vous pouvez utiliser comme ça:

ViewData ["players"] = yourList;

Après cela, vous pouvez accéder à la même ViewData sur la vue:

<? foreach(var player in ViewData["players"] as List) {} ?> 

Vous pouvez faire une forte vue typée, changer la classe de base vue de ViewPage à ViewPage < T>, où T est votre classe définie par l'utilisateur. Au niveau du contrôleur, vous renvoyez la classe sur la méthode de retour View() et accédez à la vue à l'aide de la propriété ViewModel.

1

Consultez les tutoriels ASP.NET MVC au http://www.asp.net/learn/mvc/, en particulier les 3 premiers tutoriels sur les modèles, les contrôleurs et les vues, et comment ils interagissent.

Questions connexes