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 Discussion :

ASP NET MVC - Repository et informations � transmettre � la vue


Sujet :

ASP.NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    212
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activit� : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 212
    Par d�faut ASP NET MVC - Repository et informations � transmettre � la vue
    Bonjour,

    Je suis en train d'impl�menter Repository.
    J'avais un contr�leur qui utilisait 'ViewData' pour transmettre � ma vue l'ID de l'utilisateur.

    Ancien 'ArticlesController.cs'
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            public IActionResult AjoutArticle()
            {
    
                ViewData["ApplicationUserId"] = new SelectList(_context.Users, "Id", "Id");
    
                return View();
    
            }
    Avec Repository, le contr�leur n'a plus acc�s au contexte qui se retrouve dans 'ArticlesRepository.cs'
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
            public void CreateArticle(Articles article)
            {
                _context.Articles.Add(article);
     
            }
    Nouveau 'ArticlesController.cs'
    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
        public class ArticlesController : Controller
        {
            private readonly IArticlesRepository _repo;
    
            public ArticlesController(IArticlesRepository repo)
            {
                _repo = repo;
            }
    
            public IActionResult Create()
            {
                ViewData["ApplicationUserId"] = new SelectList(_context.Users, "Id", "Id"); //<-- _context n'existe pas dans le contexte actuel
                return View();
            }
    }
    Je ne trouve pas comment faire pour transmettre les m�mes informations � ma vue.
    Merci

  2. #2
    Expert confirm�
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 972
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Analyste programmeur Delphi / C#
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 972
    Par d�faut
    Tu l'as dit toi m�me, le contexte se trouve dans le repository.

    Il faut donc un repository pour les Users.
    Cela peut tout � fait �tre le m�me que celui des articles, ou un compl�tement s�par�.
    C'est un choix � faire au d�part.

    Dans ce repository, il faut �crire une m�thode pour acc�der pour acc�der � la liste des utilisateurs.
    Puis transmettre ce repository � ton contr�leur de la m�me mani�re que celui des articles si besoin.

  3. #3
    Membre �clair�
    Homme Profil pro
    autre
    Inscrit en
    Janvier 2015
    Messages
    212
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activit� : autre

    Informations forums :
    Inscription : Janvier 2015
    Messages : 212
    Par d�faut
    de la m�me mani�re que celui des articles
    La solution �tait effectivement devant mes yeux.
    Parfois une simple indication, un conseil, suffit pour la trouver.
    Surtout quand on passe des heures � appr�hender de nouveaux concepts.
    Merci Popo !

    J'avais deux lignes � remplacer dans mon contr�leur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
                ViewData["ApplicationUserId"] = new SelectList(_context.Users, "Id", "Id");
    et 
                ViewData["ApplicationUserId"] = new SelectList(_context.Users, "Id", "Id", article.ApplicationUserId);
    j'ai donc cr�� deux m�thodes dans 'ArticlesRepository.cs' :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            public SelectList  GetUser()
            {
                var idUser = new SelectList(_context.Users, "Id", "Id");
     
                return idUser;
            }
            public SelectList  GetUserWithArticle(Articles article)
            {
                var idUser = new SelectList(_context.Users, "Id", "Id", article.ApplicationUserId);
     
                return idUser;
            }
    et, dans 'IArticlesRepository.cs' :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
            SelectList GetUser();
            SelectList GetUserWithArticle(Articles article);
    Ce qui donne, dans le nouveau contr�leur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
                ViewData["ApplicationUserId"] = _repo.GetUser();
    et 
                ViewData["ApplicationUserId"] = _repo.GetUserWithArticle(article);
    �a fonctionne.
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] Afficher les informations d'utilisateur courant ASP.NET MVC Entity framework
    Par risutsukoo dans le forum D�veloppement Web avec .NET
    R�ponses: 0
    Dernier message: 11/05/2015, 21h15
  2. [ASP.NET MVC] C'est quoi ?
    Par DranDane dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 05/09/2008, 11h48
  3. ASP.NET MVC Preview 4
    Par hollywood dans le forum G�n�ral Dotnet
    R�ponses: 0
    Dernier message: 22/07/2008, 11h57
  4. Framework ASP.NET MVC
    Par superbobo dans le forum G�n�ral Dotnet
    R�ponses: 5
    Dernier message: 02/07/2008, 16h11
  5. ASP.NET MVC Preview 2
    Par cereal59 dans le forum ASP.NET
    R�ponses: 1
    Dernier message: 04/04/2008, 16h41

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