IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Comment séparer la vue et le controlleur dans une application ASP.NET


Sujet :

ASP.NET MVC

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Points : 556
    Points
    556
    Par défaut Comment séparer la vue et le controlleur dans une application ASP.NET
    Bonjour,

    J'ai une application ASP.NET qui a été développée par des "programmeurs". Cette application contient tout ce qu'il ne faut pas faire:
    • settings hardcodés
    • copié/collé partout (code non réutilisé)
    • on fait plein de petit SELECT à la DB pour chaque ligne au lieu de faire des JOIN
    • modèle, vue et contrôleur dans une seule fonction
    • etc.

    Mon but, ce n'est pas de tout jeter et recommencer, mais j'aimerai faire des séparations entre les différents aspects du MVC. Je ne veux pas commencer un nouveau projet MVC, j'aimerai évoluer la solution existante en quelque chose de modulaire.

    Pour le contrôleur, il n'y a pas de problème, je peux créer des classes qui vont bien gérer les connexions DB, envois de mails etc. Par contre je ne sais pas comment m'y prendre pour séparer la vue et le contrôleur.
    Le problème que que les pages ASP traditionnelles toto.aspx ont un fichier associé toto.aspx.vb et dans ce vb il y a à la fois la gestion de la vue (éléments de la page, comme les listes déroulantes) et aussi la partie business (contrôleur) qui s'actionne au clics du bouton.

    Je pensais faire un appel à une classe TotoControl.vb qui va contenir la partie business depuis le fichier toto.aspx.vb, qui lui va faire appel au Modèle (db, mail, autre).

    (Vue : Toto.aspx.vb) -> (contrôle : TotoControl.vb) -> (Modèle : Db.vb, Mail.vb)

    Le problème est comment dois-je m'y prendre lorsque si je veux par exemple modifier quelque chose sur la page ou afficher un texte dessus. Je dois faire un appel à la vue (dans l'autre sens) et donc passer en paramètre la classe Toto(.asp.vb)


    Est-ce que quelqu'un a une idée comment je dois m'y prendre?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Le projet actuellement est en webform ? Si c'est le cas je vois pas comment tu voudrais faire cela. Et même en essayant, tu auras toutes les contraintes du webform en plus de celles du MVC...

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Points : 556
    Points
    556
    Par défaut
    Je viens de lire la définition de Web forme. Je pense que, oui, c'est bien une Appli Web Forme.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2014
    Messages : 153
    Points : 227
    Points
    227
    Par défaut
    ASP NET MVC Core.
    C'est le plus actuel.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par cmako Voir le message
    Je viens de lire la définition de Web forme. Je pense que, oui, c'est bien une Appli Web Forme.
    Si tu ne veux pas tout réécrire tu dois rester dans la philosophie du webform, ca t'évitera bien des galères.
    Si tu veux faire du mvc alors tu devras certainement réécrire une bonne partie du code mais ca aura l'avantage de mieux comprendre le projet et d'améliorer le code du même coup. Tu gagneras pas du temps directement mais sur le long terme certainement.

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2011, 11h53
  2. Réponses: 3
    Dernier message: 03/03/2011, 04h55
  3. Réponses: 0
    Dernier message: 26/01/2011, 09h24
  4. Réponses: 2
    Dernier message: 31/07/2009, 00h02
  5. Login et membership dans une application asp.net 3.5
    Par tendre_amie007 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 26/05/2009, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo