Question

Je travaille avec mon équipe de développement ASP.NET pour essayer de créer "meilleur" (c'est à dire.nettoyeur) HTML lors du rendu des pages.À l'heure actuelle, .NET a une mauvaise tendance à faire des choses comme vider JavaScript dans la page, ce qui en fait une exigence obligatoire sur les contrôles de formulaire et ne permet pas aux formulaires de fonctionner lorsque JS n'est pas disponible.Dans certains cas, nous avons du mal à surmonter ce problème sans avoir à ajouter une part importante aux estimations du temps de développement.

J'ai déjà travaillé avec MVC - via Struts en Java - et j'ai découvert que dans ce cas, j'étais capable de conserver les pages HTML exactement comme je le souhaitais. (Ce point de vue est basé sur le HTML statique du « meilleur des cas » que j'ai généralement développé au préalable, puis remis aux programmeurs Java pour combler les trous.)

Cela a très bien fonctionné et nous avons pu produire certaines des « meilleures » pages Web à partir d’un CMS que j’ai vu..NET MVC pourrait-il m'offrir la séparation dont j'ai besoin, ou serait-ce une fausse économie de mettre de côté un temps de développement précieux pour tester cela ?

Si .NET MVC ne me donne pas ce contrôle précis sur la séparation, des recommandations concernant les pratiques de codage .NET, les bibliothèques, etc.ce qui pourrait être vraiment utile.

Était-ce utile?

La solution

Le framework ASP.NET MVC vous offrirait une séparation beaucoup plus familière.Parce qu'il n'y a pas d'état d'affichage, etc. dans le framework MVC, vous n'aurez pas à vous soucier du transfert de JavaScript dans vos pages.Les seuls appels JavaScript que vous verrez seront ceux que vous ajouterez manuellement.

Vous pouvez, pour la plupart, séparer HTML/CSS/JS comme vous le feriez dans un framework différent.

Autres conseils

En fonction du moteur d'affichage que vous allez utiliser.Oui.

Mais vous pouvez facilement vérifier cela en consultant la source de la page pour le débordement de pile.Ce n'est pas un jardin zen mais c'est plutôt propre.

Quelques précisions supplémentaires :

Le rendu des pages est effectué par le moteur de visualisation.Vous pouvez utiliser le moteur d'affichage standard ou des moteurs existants comme nVelocity ou Brail, tout comme avec monorail.http://www.chadmyers.com/Blog/archive/2007/11/28/testing-scottgu-alternate-view-engines-with-asp.net-mvc-nvelocity.aspx

Comme le moteur d'affichage est responsable de la création du HTML, le résultat dépend de votre choix.Mais la plupart des moteurs de visualisation sont meilleurs à cet égard que l'ASP.Net vanille.

@Wrestlevania a dit :

Toute recommandation pour les pratiques de codage .NET, les bibliothèques, etc.Ce qui pourrait être très utile.

J'essaie de maintenir un niveau élevé de séparation lors du codage dans ASP.Net.Je trouve que si j'évite les contrôles asp et m'en tiens autant que possible aux éléments HTML de base, je peux éviter toute situation dans laquelle ASP.Net serait enclin à injecter du CSS ou du JS supplémentaire dans ma page.Exemple, utilisez span à la place de asp:literal, bouton à la place de asp:bouton, etc.

Le seul contrôle ASP que j'utilise est le répéteur, qui sert à créer une table.Toute fonctionnalité dont j'ai besoin et qui serait similaire à un contrôle asp, soit je m'implémente en javascript, soit j'utilise un framework comme jquery.

Asp.Net MVC vous aidera à séparer html/css/js dans la mesure où il présentera moins de fonctionnalités qui vous empêcheraient de les séparer.

Par exemple, les assistants HTML renvoient généralement exactement cela :HTML.À partir de ce moment, vous êtes libre de choisir de conserver toutes les informations de style associées uniquement aux attributs de classe.

Pensez également à examiner les pratiques que vous suivez habituellement avec une bibliothèque comme jQuery.C'est un excellent exemple de la façon de conserver la fonctionnalité scriptée entièrement dans votre js et hors de votre code HTML en appliquant les comportements de gestion des événements aux éléments lors du chargement de la page en fonction d'éléments tels que le type d'élément, la classe et l'identifiant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top