8
votes

Leçons apprises ou erreurs faites lors de l'utilisation ASP.NET MVC

Quelles sont vos principales leçons apprises lors du démarrage de ASP.NET MVC que vous mettriez en évidence à quelqu'un qui commence afin d'éviter ces erreurs?


2 commentaires

Une leçon que quiconque l'utilise alors devrait apprendre, ce sont quelques questions sont Wiki!


Lecture recommandée: Obtenez cette présentation sur les modèles et les anti-motifs dans ASP.NET MVC: IndomitableHef.com/?p= 225


11 Réponses :


4
votes

N'oubliez pas la partie "Tests de l'unité" du motif.


0 commentaires

0
votes

nom du contrôleur :)

motif de test unitaire


0 commentaires

0
votes

N'utilisez pas la collection de formulaires, utilisez la liaison de modèle.

Essayez de ne pas utiliser ViewData, créez une viewModel.

Si vous avez une boucle ou une boucle si à votre vue, écrivez un assistant HTML.

gentillesse,

DAN


0 commentaires

3
votes

Essayez de toujours utiliser un point de vue pour passer des données entre le contrôleur et la vue. Vous pensez peut-être que vous n'en avez pas besoin d'un, vous pouvez simplement passer votre modèle autour, mais tout à coup, vous avez besoin d'une boîte de liste avec plusieurs options pour modifier un modèle ou afficher un message (pas de message de validation) et vous commencez à ajouter des éléments à la vue , avec des cordes magiques comme des clés, rend l'application plus difficile à maintenir. Il existe également des problèmes de sécurité que vous résolvez avec une vue de vue. Par exemple: xxx

Votre vue permettrons à l'utilisateur de changer son nom et son email et des messages sur l'action xxx

Quelqu'un pourrait altérer votre formulaire et Publiez un nouveau mot de passe et un nom d'utilisateur et vous devrez faire très attention au comportement par défaut. Maintenant, si vous utilisez une vue de vue comme: xxx

Le problème est parti.


2 commentaires

Pourquoi ne pas exclure le «nom d'utilisateur» et «mot de passe» sur le filtre de l'action? Ou Mettre à jour le modèle avec juste la liste des champs que vous souhaitez mettre à jour?


C'est parfaitement valide mais vous pouvez oublier de le faire, un nouveau développement peut ne pas savoir à ce sujet, car n'est pas si évident. Utiliser des images de vue, il est presque impossible d'échouer.



1
votes
  • Chaque fois qu'il est possible, faites votre vue Tapée

  • Évitez la logique de votre point de vue

  • Éloignez-vous du HttpContext


0 commentaires

8
votes
  • Utilisez HTML.ENCODE () Partout où vous imprimez des données, sauf si vous avez une très bonne raison de ne pas le faire, vous n'avez donc pas à vous soucier des XSS
  • Ne pas connecter les itinéraires sur votre point de vue ou javascripts - ils vont changer à un moment donné, utilisez URL.Action () à la place
  • N'ayez pas peur d'utiliser des vues partielles
  • MVC n'est pas une balle d'argent, d'abord évaluer s'il s'agit bien du meilleur outil de choix pour résoudre votre problème.

0 commentaires

1
votes
  1. obtenez Steve Sandersons Framework MVC

  2. débogage dans le SourceCode


0 commentaires

0
votes

Ne laissez pas votre contrôleur devenir gros et faire trop de travail. J'ai vu plus de 1000 contrôleurs de ligne dans le passé et cela devient juste un cauchemar absolu pour comprendre ce qui se passe.

Utiliser le test de l'unité pour vos contrôleurs pour vous assurer que les dépendances sont conservées sous contrôle et que votre code est testable.

Ne soyez pas dessiné en laissant JQuery et de fantaisie Clientcript définir le comportement de votre application, essayez de l'utiliser aussi avec parcimonie que possible et de la laisser améliorer votre application.

Utilisez des vues partielles et des aides HTML chaque fois que cela est possible de vous assurer que vos vues ne deviennent pas lourdes et un cauchemar de maintenance.

Utilisez une vue de vue dans la mesure du possible.

Utilisez un cadre d'injection de dépendance pour gérer vos dépendances (MVCCONTRIBBIB compte plusieurs usines de contrôleur, bien que cela soit suffisamment simple pour rouler le vôtre).


0 commentaires

0
votes

Utilisez un contrôleur différent pour chaque section de votre site (E.G., HOME, COMPTE)

Apprenez à utiliser ViewData et Tempdata

apprendre quelle est l'utilisation de RenderPartial


0 commentaires

1
votes
  • Si vous effectuez une méthode de contrôleur avec un nom de paramètre différent de ID pour une méthode de paramètre unique, Vous devez faire une nouvelle route . Il suffit de mordre la balle et d'utiliser id (cela ne se soucie pas du type) et de l'expliquer dans les commentaires.
  • Assurez-vous de nommer vos paramètres avec redirectToaction :

    retour redirectToaction ("Donatetocarité", nouveau {id = 1000});

  • Vous perdez votre viewdata lorsque vous RedirectToaction .


0 commentaires

1
votes

Mettez JavaScript dans des fichiers séparés, pas dans la page d'affichage


1 commentaires

Pourquoi? Et si je dois assigner js variables dans la page de vue? I.e. ID d'article actuel, ou une URL générée? J'accepte que la plupart des fichiers JavaScript (fonctions) devraient être dans * .js, mais beaucoup de variables, de messages localisés, etc., vous pouvez générer (si possible dans une seule vue partielle qui est la section de la mise en page) dans cshtml / ascx