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 :

remplacer le viewData du controller


Sujet :

ASP.NET MVC

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 36
    Points : 25
    Points
    25
    Par défaut remplacer le viewData du controller
    bonjour,

    j'ai un controller testController qui hérite de controller et je souhaite remplacer dans mon controller enfant la propriété viewData.

    J'ai tenté de procéder ainsi mais dans la viewPage, il utilise le viewData de base et ne passe donc pas par la nouvelle définition de ma propriété :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    public class TestController : Controller
    {
     
    <div style="margin-left:40px">public new ViewDataDictionary ViewData {
                get {
     
                    ViewDataDictionary viewData = base.ViewData;
     
                    ArrayList liste = this.getDao.getAll();
     
                    viewData["liste"] = liste;
     
                    return viewData; 
                    }
            }</div>
    }
    Le but de cette manoeuvre est d'alimenter automatiquement toutes les vues du controller qui ont systématiquement besoin de cette liste.
    - Je pourrai appeler une méthode d'initialisation dans chaque action mais je ne trouve pas ca optimal.
    - Je pourrai également créer une classe "Model" spécifique qui contient cette liste pour chaque action mais je considère que se sont des données annexes sans réel relation avec le model

    voila, si quelqu'un à une idée ?
    Merci.

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    ca me semble un peu bizarre, comme idée

    sous quelle forme vont se présenter ces données ? Dans ton exemple, est-ce que les données contenues dans liste vont être physiquement représentées dans tes vues, ou est-ce que ce sont des données que tu vas utiliser pour un autre but ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par wrapx Voir le message
    J'ai tenté de procéder ainsi mais dans la viewPage, il utilise le viewData de base et ne passe donc pas par la nouvelle définition de ma propriété :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
     
    public new ViewDataDictionary ViewData {
    ...
    C'est parfaitement normal que ça ne marche pas... la propriété ViewData n'est pas virtuelle, et la vue n'a aucune connaissance de ta propriété ViewData (qui se contente de "masquer" celle de la classe de base). Elle ne sera utilisée que si elle est appelée explicitement via une variable du type de ta classe, pas via une variable Controller

Discussions similaires

  1. Remplacer l'animation d'un template control
    Par Bibicmoi dans le forum Silverlight
    Réponses: 5
    Dernier message: 15/08/2011, 17h49
  2. Remplacer des controles ajax dans un site ASP .net par des codes javascript
    Par Contact2012 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/09/2008, 13h50
  3. Remplacer les controles ajax par des controles ASP
    Par Contact2012 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/09/2008, 11h26
  4. Comment remplacer le nom d'un controle par une chaine ?
    Par roico dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/04/2007, 11h49
  5. Réponses: 5
    Dernier message: 14/12/2006, 16h50

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