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

MVC Discussion :

[MVC3/C#] Question simple pour les vues


Sujet :

MVC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 122
    Points : 78
    Points
    78
    Par défaut [MVC3/C#] Question simple pour les vues
    Bonjour,

    Je termine un projet MVC3 en C# dans lequels j'ai les différents éléments classiques :
    - routes,
    - modeles,
    - datarepositories,
    - controlleurs,
    - et vues (razor).

    Je précise que je ne connais rien au départ à ce pattern et que j'ai eu une mini formation de 2 h (je ne m'en plein, c'est déjà trés bien), ce qui explique la question bête que je vais poser.

    Mon formateur m'a dit qu'il ne devait pas y avoir de conditions dans les vues. Ce que j'avais écrit à la base dans ma vue été du genre :

    @Si MonModele.MonChamp == 2 Alors
    <text>Accordé</text>
    sinon
    <text>Refusé</text>

    Si je ne peux faire ce genre de tests tout simple, est-ce que cela signifie que je dois alourdir mon modele (et par voie de conséquence ma classe) d'une valeur du genre << string Acceptation >> ?

    Quand je chargerai dans le datarepositorie les différentes valeurs que j'affecterai à ma classe, en fonction des valeurs récupérées je mettrais à jour << Acceptation >> avec 'Accordé' ou 'Refusé'.

    La question était donc, est-ce là seule solution où il y en a t'il d'autres (je ne connais pas tout sur le sujet) du genre parametres que l'on peut passer à une vue, comme je passe mon modele ?

    J'espère avoir été clair dans ma question et je remercie par avance tout ceux qui pourront m'éclairer sur ce sujet.

  2. #2
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    Le Model n'est pas censé contenir tous les libellés qui vont être affichés dans la vue, mais les données qui vont servir à l'affichage, ce qui est différent. On peut très bien imaginer, et c'est largement répandu, qu'il y ait une transformation par la vue de ces données en un visuel légèrement différent.

    Ex : Si tu veux traduire "Accordé" par un carré vert dans ton interface et "Refusé" par un rond rouge, tu ne vas évidemment pas stocker la couleur et les formes dans ton Model. C'est la vue qui va se charger de faire la conversion.

    Des "if" dans les vues, on en fait tout le temps : pour afficher ou masquer un bloc d'affichage si certaines données sont présentes dans le model, pour modifier le comportement d'un javascript ou inclure du css, des boutons, des liens en fonction de ces données, etc.

    Ca ne doit pas empêcher à chaque fois que possible d'utiliser dans la vue des Html Helpers qui font le lien direct vers des propriétés du Model et vont automatiquement peupler ces propriétés lors d'un POST.

    Donc dans ton exemple je ferais :

    • Page d'affichage : @if pour afficher Accordé ou Refusé
    • Page de formulaire : Select ou Radio buttons remplissant la propriété MonModele.MonChamp

Discussions similaires

  1. [XL-2007] Question simple pour éviter les if
    Par Thebeginner dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/10/2011, 10h34
  2. Help! Question simple pour les pros
    Par Panaméen dans le forum Installation
    Réponses: 4
    Dernier message: 29/11/2007, 09h52
  3. [MySQL] Question simple sur les tableaux pour un initié
    Par bom8407@hotmail.com dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/03/2007, 11h22
  4. question simple sur les select dynamiques
    Par grinder59 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 15h53
  5. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13

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