2010-06-03 6 views
0

Essayer d'implémenter certaines boucles imbriquées qui crachent de vieilles données de table html imbriquées. Donc la question est: Quel est le meilleur moyen de parcourir les listes et les listes imbriquées afin de produire du code facilement maintenable? Il peut être très rapide lorsque vous travaillez avec plusieurs tables ou listes imbriquées. Devrais-je utiliser une aide HTML, ou faire quelque chose avec ViewModel pour simplifier cela?Meilleure façon d'implémenter des boucles imbriquées dans une vue dans asp.net mvc 2

Une exigence est que s'il n'y a pas d'enfants à un nœud, il devrait y avoir une ligne vide à cet endroit avec des liens pour la création et dans d'autres parties du système.

Répondre

1

En supposant que vous travaillez avec de belles données fortement typées, j'irais avec un certain nombre de vues partielles pour y arriver. J'ai fait quelque chose de similaire avec un projet sur lequel j'ai travaillé, et cela m'a permis de comprendre le code et de maintenir le code assez facilement.

+0

Approche intéressante! Voyez-vous des inconvénients avec cela? Chute de performance ou aspect de la maintenance: trop de vues partielles imbriquées peuvent rendre le suivi du code plus difficile. Nous avons quelque chose comme 5 onglets chaque onglet est partielle et à l'intérieur de ceux-ci il y a aussi des dialogues jquery partiels et encore plus de partiels pour les sections des dialogues. – Andreas

+0

Vous allez probablement aller un peu plus loin que ce que j'ai fait avec ce point de vue de la complexité :) - En pensant à la façon dont cela va être rendu par le moteur MVC, vous pourriez obtenir un peu de performance, car ça va avoir besoin de charger le fichier .ascx pour chacune des vues partielles individuelles, mais une fois qu'ils sont chargés, ils doivent être mis en cache, et il devrait fonctionner à peu près aussi bien qu'une seule page. Peu importe, je pense que le coup de performance serait dans la gamme des millisecondes mineures et non perceptible à un utilisateur final. – Robaticus

+0

Oui, je suis d'accord, avec la décoration de mise en cache sur la vue partielle, la performance ne devrait pas être si mauvaise. Ça vaut le coup quand même :). J'ai fini par passer System.Web.Mvc.ViewUserControl > en tant que ViewModel fortement typé et cela fonctionne. – Andreas

Questions connexes