54 votes

ASP.NET MVC Razor designer

Je suis en train de présenter ASP.NET MVC à une nouvelle équipe et l'une des questions qui revient le plus souvent est "Existe-t-il une vue du concepteur ?".

Même si ce n'est pas pour la mise en page, existe-t-il une vue de conception IN visual studio pour ASP.NET MVC3 utilisant le moteur de vue razor.

3 votes

Non, il n'y en a pas. parce qu'il n'y a pas de contrôles de serveur comme avec les formulaires web. tout est déclaratif, alors que voulez-vous "glisser et déposer" ?

1 votes

Je ne cherche pas à faire du glisser-déposer. Je cherche à donner à une équipe novice en matière de Razor un moyen de prévisualiser ses vues dans Visual Studio.

1 votes

Simple. Ne le faites pas. Utilisez plutôt un navigateur web. Les concepteurs visuels sont une béquille pour les mauvais développeurs web, ils affichent souvent du HTML incorrect/invalide et prennent beaucoup trop de temps pour effectuer le rendu. Mon conseil serait de désactiver complètement la fonctionnalité de concepteur dans VS.

55voto

Erik Funkenbusch Points 53436

Non, il n'y a pas de concepteur. Il serait probablement difficile pour un concepteur de savoir ce que signifie le code du rasoir dans de nombreux cas.

Il n'est vraiment pas si difficile d'utiliser votre navigateur web comme visionneur. Vous pouvez apporter des modifications au HTML sans avoir à recompiler, il suffit d'effectuer la modification, de l'enregistrer et de rafraîchir votre navigateur.

MODIFIER (8/2/2013)

Depuis que cette réponse a été écrite, Microsoft a publié Visual Studio 2012 qui inclut une fonctionnalité appelée Inspecteur de la page qui, bien qu'il ne soit pas un véritable "concepteur" au sens où la question a été rédigée, offre un mode d'aperçu semi-live beaucoup plus agréable. Cette fonction a été améliorée dans Visual Studio 2013 (qui a été lancé aujourd'hui, le 17 octobre 2013).

13 votes

Pour clarifier un peu, vous pouvez apporter des modifications à n'importe quelle vue, vue partielle ou page principale sans avoir à recompiler, ce qui inclut tout c# en ligne que vous avez pu écrire, et pas seulement le HTML. Seuls les fichiers de classe doivent être recompilés.

0 votes

Ce qui se rapproche le plus d'un concepteur, dans le sens où les anciens concepteurs étaient en quelque sorte "méta" - ils vous permettaient d'utiliser des contrôles de conception de serveur qui manipulaient le fonctionnement du code lui-même, plutôt que d'être des contrôles rendus par le code - ce sont les commandes de la console Package-Manager, comme Scaffold, qui génèrent des choses comme des vues Razor pour vous. Vous pourriez potentiellement utiliser ces commandes ou d'autres commandes similaires que vous écrivez pour aider les nouveaux développeurs à démarrer avec de bons contours pour leur code.

10voto

4ks Points 91

J'utilise une fenêtre de navigateur web et je mets l'url de mon localhost à la place du designer. Vue > "autres fenêtres" > "navigateur web". Je divise ensuite la fenêtre verticalement ou horizontalement.

0 votes

C'est très bien, sauf que je reçois parfois un popup d'erreur JavaScript, ce qui n'arrive pas lorsque le projet est lancé dans IE.

8voto

BraveNewMath Points 1306

J'ai pu travailler en utilisant l'astuce suivante :

  1. changer l'extension du fichier razor en .html
  2. Ouvrez le document
  3. avec le document ouvert, changez l'extension du fichier en .cshtml.

Félicitations, vous avez maintenant une vue de concepteur du fichier razor. Si vous avez besoin de l'intellisense de razor, fermez et rouvrez-le.

2 votes

C'est du bidouillage, mais j'aime ça ! Je ne l'utilise pas, mais j'aime l'astuce !

3voto

Craig Points 15049

Non, en général, vous devriez essayer de rester à l'écart des concepteurs visuels. La combinaison de HTML/CSS/Javascript est quelque chose qui ne peut tout simplement pas être réalisée par des concepteurs visuels et la douleur à court terme de l'apprentissage manuel en vaut la peine. Une fois que vous les connaîtrez bien, vous coderez de manière plus propre et plus rapide. J'utilise souvent Expression Web pour faire des mises en page initiales avant de les copier dans Visual Studio.

0 votes

De nombreuses exceptions, notamment les outils d'administration et internes qui doivent être soutenus et développés par des non-développeurs.Il y a 10 ans, je dirais la même chose. Un concepteur qui enregistre dans son propre format et émet du HTML/CSS/Javascript fonctionnerait facilement. Les formulaires à schéma json en sont un bon exemple.

2voto

GraemeMiller Points 4299

Je pense qu'ils travaillent sur cette fonctionnalité pour Expression Blend 5 Developer Preview .

Ils reconnaissent clairement le problème de la conception de JS dans le concepteur et je pense qu'ils se rendent compte que la même chose s'applique à certains concepteurs travaillant sur des applications MVC.

Quelqu'un de Microsoft m'a dit : "Je pense que dans Blend for HTML, en utilisant le mode interactif, vous pourriez probablement vous contenter de concevoir des modèles MVC ou MVVM".

Consultez également Inspecteur de pages de Visual Studio il semble qu'il fera ce qu'il faut

Dans Visual Studio 2013, on a ajouté lien du navigateur cela permet une communication bidirectionnelle entre le navigateur et Visual Studio. Cela signifie que vous pouvez rafraîchir le navigateur lorsque vous modifiez le code et voir instantanément à quoi il ressemble. Vous pouvez également modifier le code CSS dans le navigateur et l'enregistrer dans Visual Studio.

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