1 votes

Comment ASP.NET MVC facilite-t-il la création de vues spécifiques à un contenu ou à un appareil ?

L'un des avantages d'ASP.NET MVC dont je ne cesse de parler est qu'il est plus facile (qu'avec ASP.NET traditionnel) de créer des vues spécifiques au contenu et/ou au périphérique, par exemple du HTML pur ou du JSON ou du XML ou du HTML enrichi pour iPhone, etc. Je vois comment la séparation plus structurée de la logique de vue de la logique de contrôleur facilite cela.

Supposons toutefois que nous ayons une application ASP.NET traditionnelle avec une architecture raisonnablement mise en œuvre (ha !) qui sépare réellement la logique métier de la logique d'affichage et dont les fichiers .aspx ne sont pas du code spaghetti ou mélangés avec du balisage entremêlé de logique métier et d'accès aux bases de données et d'autres éléments qui ne devraient pas être là. Dans le cas d'une application ASP.NET traditionnelle construite de cette manière, est-il toujours plus difficile de créer ces vues propres et adaptées que dans une application ASP.NET MVC ?

Ou bien, est-ce simplement une question d'ASP.NET MVC, en vertu du modèle MVC et de la séparation mieux renforcée entre le modèle, la vue et la logique du contrôleur qui oriente les développeurs vers l'écriture d'un code plus propre avec une meilleure séparation des préoccupations et qui facilite donc la création de ces vues spécialement conçues ?

1voto

lomaxx Points 32540

Je pense que le cadre ASP.NET MVC (pas nécessairement le modèle) facilite la création de vues spécifiques, principalement parce qu'il est possible d'envoyer une requête à la même URL et, en fonction de l'en-tête de la requête, de renvoyer une ActionResult qui est adaptée spécifiquement à cette requête.

Les formulaires Web compliquent un peu les choses, car vous demandez généralement une ressource spécifique (une page aspx, par exemple) plutôt qu'une URL. Lorsque vous demandez cette ressource, le moteur Webforms rend beaucoup plus difficile le fait de renvoyer autre chose que la ressource demandée.

Cela dit, ce n'est pas impossible avec les webforms. Vous pouvez faire quelque chose de similaire avec les webforms en modifiant les en-têtes de réponse et en renvoyant quelque chose de complètement différent, mais ce n'est pas aussi intuitif que dans le cadre MVC.

1voto

Bit Destroyer Points 1226

ASP.NET rend la chose beaucoup plus facile car, comme l'a dit lomaxx, l'URL n'est pas liée de manière statique à une ressource particulière. MVC fournit des méthodes sur la classe de contrôleur de base qui vous permettent de renvoyer des ActionResults de différents types. Par exemple, si vous renvoyez un ActionResult de la méthode d'aide Json avec les objets que vous souhaitez renvoyer comme arguments, il les formatera en données Json et les présentera en conséquence. Je suis sûr qu'il y a probablement une aide pour Xml aussi, mais je n'en ai pas eu besoin jusqu'à présent.

Cet article de Scott Hanselman décrit comment créer des vues personnalisées pour des appareils mobiles spécifiques. Je n'ai pas encore utilisé son tutoriel, mais il semble assez simple. Il vous permet de détecter les capacités de l'appareil sur lequel vous naviguez, ce qui vous permet de créer des vues personnalisées pour fonctionner sur de nombreux appareils mobiles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X