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 utiliser plusieurs models pour une seule vue


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Par défaut Comment utiliser plusieurs models pour une seule vue
    Bonjour à tous

    J'ai plusieurs tables de données/Entities (ABRICOTS, BANANE, CITRON) dans le même EDMX et chaque table a plusieurs colonnes (Name, Quantité, Date, Tri)

    Dans une vue, j'ai une liste déroulante (DropDownList) qui contient ("A","B" et "C")

    Ce que je veux faire :

    Dans ma liste déroulante :
    Quand je sélectionne la valeur A j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table ABRICOTS
    Ou
    Quand je sélectionne la valeur B j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table BANANE
    Ou
    Quand je sélectionne la valeur C j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table BANANE

    Merci beaucoup pour votre aide
    Jeremy

  2. #2
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Bonjour,

    En général, on rassemble les trois types dans une nouvelle class. Par exemple, FruitsViewModel.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Par défaut
    Bonjour Yonpo

    Merci de me répondre mais es ce que tu peux me donner un extrait de code cette classe, le controller et la vue ?

    Désolé je suis un débutant !

    Merci

  4. #4
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class FruitsViewModel
    {
    	public List<Abricot> Abricots { get; set; }
     
    	public List<Banane> Bananes { get; set; }
     
    	public List<Citron> Citrons { get; set; }
    }

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public ActionResult ActionController()
    {
    	var vm = new FruitsViewModel();
    	vm.Abricots = // Récupère les abricots depuis la base de données
    	vm.Bananes = // Récupère les bananes depuis la base de données
    	vm.Citrons = // Récupère les citrons depuis la base de données
     
    	return View(vm);
    }

    Code html : 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
    @model namespace de FruitsViewModel
     
    @foreach(var abricot in Model.Abricots)
    {
    	<!-- Affiche les propriétés d'un abricot -->
    }
     
    @foreach(var banane in Model.Bananes)
    {
    	<!-- Affiche les propriétés d'une banane -->
    }
     
    @foreach(var citron in Model.Citrons)
    {
    	<!-- Affiche les propriétés d'un citron -->
    }

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Par défaut
    Re yonpo

    Merci énormément pour votre aide

    Mais ce qui manque dans le code c'est la partie la plus difficile pour moi c'est-à-dire comment faire quand :

    j'ai une liste déroulante (DropDownList) qui contient ("A","B" et "C")

    Quand Je sélectionne la valeur A j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table ABRICOTS
    Ou
    Quand Je sélectionne la valeur B j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table BANANE
    Ou
    Quand Je sélectionne la valeur C j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table CITRON

    Merc

  6. #6
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Avec un peu de javascript, on devrait y arriver.
    On écoute le changement d'élément de la liste qui contient A, B, C et fonction de l'élément sélectionné, on affiche la bonne liste.

    On pourrait aussi allez plus loin, en utilisant de l'ajax qui récupèrerait les bons éléments en fonction de l'élément choisie.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment utiliser deux units pour une seule fiche
    Par dmognin dans le forum Débuter
    Réponses: 8
    Dernier message: 05/02/2010, 16h07
  2. Réponses: 3
    Dernier message: 06/04/2007, 10h09
  3. [Tableaux] Plusieurs valeurs pour une seule CheckBox
    Par Phenol dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2007, 17h54
  4. plusieurs formulaires pour une seule page ?
    Par lifecraft dans le forum ASP
    Réponses: 9
    Dernier message: 01/02/2006, 09h48
  5. [C#] Plusieurs LinkButton pour une seule fonction
    Par FunnyDjo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/06/2005, 22h01

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