2009-09-18 6 views
0

Imaginez que j'ai une vue partielle affichant une liste d'articles. Et j'ai une fonction Repository/DAL obtenir moi le plus récent (ou peu importe) 100 articles. Maintenant, je veux afficher ces articles en utilisant une grille dans 5 colonnes. Comment puis-je afficher les 5 premiers dans la première colonne, les 5 prochains dans la colonne suivante et ainsi de suite en utilisant cette vue partielle. Ok, je pourrais mettre la liste dans ViewData et dire à PartialView quelque chose comme skip (x) .take (y). Mais que se passe-t-il si le PartialView décide combien afficher? (par exemple, dépendant de la longueur du texte)Où mettre les données nécessaires dans plusieurs vues partielles

TempData est-il le bon endroit où placer un index ou quelque chose comme ça?

grâce, Lothar

Répondre

0

Non, TempData est pour l'envoi d'informations aux demandes suivantes, dans ce cas, il n'y a qu'une seule demande.

Si les boîtes ont plus ou moins la même taille, je les afficherais en tant que divs et utiliserais css float: left; les positionner l'un à côté de l'autre. De cette façon, quand une boîte ne rentre pas, elle tombera à la ligne suivante.

Si vous souhaitez envoyer des données supplémentaires à votre vue partielle, vous devez créer une classe ViewModel contenant deux propriétés; un pour l'index et un pour l'article. Pour afficher la grille de l'article, vous devez probablement créer une méthode d'aide html pour déplacer la logique de la vue.

+0

Salut svinto, merci pour votre réponse. Probablement ma pensée était juste fausse. Je crois que je dois remplir les articles dans le contrôleur pour chaque colonne (comme viewdata ["col1"], viewdata ["col2"] et ainsi de suite, ou? Mais il est interessant que je puisse avoir des propriétés dans le modèle qui peut être changé dans une vue partielle.J'ai essayé celui-là et cela a fonctionné. – lothar42

Questions connexes