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 :

passage d'une liste d'une vue vers le controlleur


Sujet :

ASP.NET MVC

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut passage d'une liste d'une vue vers le controlleur
    Bonjour à toutes et à tous,
    comme l'intitulé de cette discussion l'indique je veux savoir comment on peut passer une liste d'une vue vers un controleur, mon problème c'est que je veux modifier plusieurs lignes à la fois exemple :
    une vue qui affiche la liste des utilisateurs doit me permettre de changer leur rôle tous à la fois donc je doit envoyer au controleur une liste des utilisateurs modifiés pour procéder à la modification de la base de données
    merci à vous

  2. #2
    Membre averti Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Points : 338
    Points
    338
    Par défaut
    Bonjour nightrocker,

    Il y a différentes manières de le faire , je vais te proposer une solution qui me parait pas trop mal.

    Le principe est de binder ta liste d'utilisateurs avec ton model.
    La difficulté ici c'est de binder tout un objet utilisateur.

    Si je pars du principe qu'un utilisateur n'a qu'un seule rôle :

    Ton utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Utilisateur
    {
        public int Id {get;set;}
        public string Nom {get;set;}
        public string Prenom {get;set;}
        public int Id_RoleUtilisateur {get;set;}
    }
    Ton modèle de vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class MyViewModel
    {
     
        public List<Utilisateur> Utilisateurs {get;set;}
     
    }
    Ta vue
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    @model MyViewModel
     
    <form>
     
    <table>
      <thead>
        <tr><th>Utilisateur</th></tr> 
        <tr><th>Role</th></tr>   
    </thead>
      <tbody>
       @foreach( var u in Model.Utilisateurs)
       {
     
    var guid = Guid.NewGuid().ToString();
       <tr>
        <td>@u.Nom @u.Prenom</td>
        <td>
     
             <input type="hidden" value="@guid" name="Utilisateurs.index">
             <input type="hidden" value="@u.Id" name="Utilisateurs[@guid].Id">
             <input type="text" value="@u.Id_RoleUtilisateur" name="Utilisateurs[@guid].Id_RoleUtilisateur">
     
        </td>
       </tr>
       } 
      </tbody>
    </table>
    </form>
    ce qui est important c'est :

    <input type="hidden" value="@guid" name="Utilisateurs.index">
    <input type="hidden" value="@u.Id" name="Utilisateurs[@guid].Id">
    <input type="text" value="@u.Id_RoleUtilisateur" name="Utilisateurs[@guid].Id_RoleUtilisateur">

    Lorsque que ton formulaire sera soumis le model binder MVC va te reconstruire t'as liste utilisateur.

    Malheureusement je manque de temps pour continuer ces explications.
    Si tu as besoin de plus d’explications n'hésite pas !

    Bon code !!!

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    merci pour votre réponse rapide M_Makia,
    donc coté contrôleur j'aurais quoi comme paramètre ?

    [HttpPost]
    public ActionResult scenario(....)
    {
    }

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Points : 647
    Points
    647
    Par défaut
    Salut,

    Tu auras un "List<Utilisateur>()"


    Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public ActionResult Post(List<Utilisateur> users) 
    {
    ....
    }

  5. #5
    Membre averti Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Points : 338
    Points
    338
    Par défaut
    Citation Envoyé par Luc1an0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public ActionResult Post(List<Utilisateur> users) 
    {
    ....
    }
    Concernant mon exemple plus haut, tu peux mettre également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [HttpPost]
    public ActionResult Post(MyViewModel model) 
    {
     ... =>  model.Utilisateurs 
    }

Discussions similaires

  1. [Lisp][IA] Supprimer une liste d'une liste de listes
    Par Superleo2999 dans le forum Lisp
    Réponses: 5
    Dernier message: 22/03/2010, 10h51
  2. Réponses: 12
    Dernier message: 12/09/2007, 16h28
  3. [PRBL]Caste une liste d'une liste d'objet
    Par stephane92400 dans le forum Langage
    Réponses: 4
    Dernier message: 07/08/2007, 21h01
  4. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56
  5. STL : retirer une liste d'une liste
    Par DEVfan dans le forum SL & STL
    Réponses: 13
    Dernier message: 05/01/2007, 20h49

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