Nouveau asp.net MVC: quels sont les best practices au niveau des views

Nouveau asp.net MVC: quels sont les best practices au niveau des views - ASP - Programmation

Marsh Posté le 26-11-2010 à 11:15:47    

Bonjour, je suis nouveau en asp.net, je viens a la base de J2EE et spring principalement.
 
Je voulais savoir quels sont les best practices au niveau des views.
 
un exemple concret:
 
j'ai un formulaire avec un select
Dans mon controller je recupere une liste d'items que je passe a ma view. Cette view doit me construire mon select.
 
Au debut je l'ai fait comme ca:
 

Code :
  1. <select>
  2. <% foreach (Item item in maListdItem) {%>
  3. <option ....
  4. <%}%>
  5. </select>


 
bon c'est pas tres propres, j'ai voulu le faire evoluer
j'ai vu dans intellisense un tag asp:foreach, que j'aurai voulu utiliser comme celui de la jstl en java, impossible de le faire fonctionner, et je n'ai trouvé aucune reference sur internet.
 
Ensuite j'ai voulu utiliser le tag <asp:DropDownList /> trouvé dans les outils de visual studio: je n'ai pas eu de succes et n'ai trouvé des exemples que pour le mapper avec une base de données
 
Enfin j'ai utilisé un Html Helper : <%=Html.DropDownList()%>
 
Donc je voulais savoir si l'utilisation des ces html helpers est recommandée? En J2EE c'est déprécié d'utiliser des tags comme <% %>, je ne sais pas ce qu'il en est en .NET
 
Donc si quelqu'un pouvait me dire ce qui est une "bonne pratique" ce serait sympa.


---------------
Toinou87 ;-p May the force be with you!!
Reply

Marsh Posté le 26-11-2010 à 11:15:47   

Reply

Marsh Posté le 21-04-2014 à 15:53:03    

Déjà, il vaut mieux utiliser le moteur de vues Razor, mieux documenté et plus utilisé par la communauté.
 
Et par exemple pour le foreach dont tu parles, un exemple ici :
 
http://stackoverflow.com/questions [...] reach-loop


---------------
Atari 520 ST 256 Ko
Reply

Marsh Posté le 21-04-2014 à 17:03:27    

- asp:DropDownList c'est du webform, donc "l'autre" technologie microsoft pour faire du web : l'exact opposé de MVC.

 

- Ton approche avec le foreach revient à construire "à la main" ton HTML, aucun intérêt pour quelque chose d'aussi basique qu'un select et ça nuit clairement à la lisibilité du résultat.

 

- Dans ton cas c'est du côté de <%=Html.DropDownList()%> et ses surcharges qu'il faut chercher.
tu as des solutions pour passer directement l'instance d'IEnumerable qu'il faudra afficher comme propositions du select plutôt qu'écrire la boucle explicitement.
Regarde comment intégrer dans ton Model une collection de SelectListItem.
Garde également à l'esprit que tu peux définir tes propres méthodes et composants de génération de contrôles simple ou complexes pour éviter de te répéter inutilement.

 

- Le "<%" est la balise pour identifier du code serveur en ASP, ASP.Net Webform ou MVC il n'est pas obsolète, c'est un élément de base du langage.
Par contre il y existe également une autre syntaxe plus lisible et concise, basée sur un moteur appelée Razor (natif Microsoft, c'est juste une évolution de MVC) sur lequel je t'invite vivement à te documenter.


Message édité par TotalRecall le 21-04-2014 à 17:08:08

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed