2008-12-10 13 views
5

Je suis nouveau sur MVC et je remarque que les pages de vue peuvent être très désagréables avec toutes les balises de script mélangées. Est-il sensé de générer le code HTML dans une méthode dans le code-behind de la vue, puis d'insérer simplement le résultat de la chaîne de la méthode comme un seul bit de script?ASP.NET MVC Views - Puis-je utiliser le code-behind?

Par exemple: <div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

Est-ce contraire à la philosophie MVC? Dumb pour une autre raison, comme la performance? A-t-il du mérite?

Répondre

1

OK, craie un autre pour la courbe d'apprentissage. Je pense que j'aurais pu trouver la réponse à ma propre question ...

ASP MVC vous permet d'installer vos propres moteurs de vue personnalisés que vous pouvez utiliser (au lieu du moteur de vue ASP.NET par défaut). Vous pouvez donc contrôler la génération html. Une fois que vous savez ce qu'il faut chercher, il est facile

:)

est ici un bon endroit pour commencer: Custom View Engine Example

@Rajesh - Merci pour les liens grands!

0

Vous pouvez également utiliser du code. Ce n'est qu'une question de préférence de style.

10

C'est une question de pratique.

Voici une lecture intéressante.

  1. Codebehind files are evil

  2. Codebehind files are not evil

Il y a aussi un article intéressant par "Rob Conery"

  1. Inline Scripting and Code behind

Alors, le choix vous appartient. Je suppose que l'avantage avec les vues sans codebehind est qu'il est beaucoup plus facile de passer à différents viewengine qui ne supporte pas le codebehind.

Bien qu'il y aura une certaine quantité de travail, mais tout de même, il sera très transparent.

1

Je ne le ferais pas. Vous avez juste besoin d'oublier le fichier codebehind, sérieusement. En fait, dans MVC Framework RC1 par défaut, il n'y a pas de fichier codebehind pour vos vues. Quel que soit le traitement que vous voulez faire pour afficher votre vue, vous pouvez le faire en ligne avec votre code HTML. Si vous songez à faire du traitement de données, faites-vous plaisir et mettez-le dans le contrôleur.

Ceci est un changement de paradigme, il est préférable de simplement briser vos vieilles habitudes maintenant.