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 :

Ajout d'info dans le model d'un form


Sujet :

ASP.NET MVC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2013
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Ajout d'info dans le model d'un form
    Bonjour,

    Lorsque j'affiche une vue, je lui donne un model (Model) pour passer les infos à afficher. Dans cette vue, j'ai un formulaire qui créer a son tour un model (m) pour l'envoyé à mon contrôleur.
    Ma question est la suivante : comment faire pour que certaine info de mon premier model se retrouve dans le 2ème pour que je puisse les récupérer dans mon contrôleur après l'envoie du formulaire?

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Html.HiddenFor(m => m.SelectedPerson, Model.SelectedPerson)
    Mais ça ne marche pas

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Par convention, tu ne peux pas passer de multiples modèles à une Vue à partir d'un contrôleur.

    Si les informations qui sont transmises de ton model 1, sont uniquement utilisées dans ton model 2, au lieu de passer ton model 1 dans ta vue, tu passerais plutôt ton model 2, en prenant la peine de créer une nouvelle instance de ce dernier et y affecter les informations dont tu as besoin du model 1 dans ton contrôleur, et le tour est joué.

    Si ce n'est pas le cas, tu peux passer ton model 1 via le ViewData dans ton contrôleur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ViewData["m"] = model1;
    Ensuite dans ta vue (qui utilise bien sur ton model2), tu récupères l'information passée par le ViewData

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @{
    var model1 = (xxx.Models.Model1)ViewData["m"];
     
    Model.SelectedPerson = model1.SelectedPerson;
    }

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2014
    Messages : 153
    Points : 227
    Points
    227
    Par défaut
    Je m'immisce :

    Pense également ViewModel et Model. Pas la même tambouille...

Discussions similaires

  1. msiexec ajouter des infos dans la commande?
    Par stf38 dans le forum Windows XP
    Réponses: 2
    Dernier message: 18/04/2013, 11h48
  2. [PHP 5.2] Ajout d'infos dans une liste et rafraîchissement
    Par jep33 dans le forum Langage
    Réponses: 14
    Dernier message: 19/05/2009, 14h27
  3. Réponses: 3
    Dernier message: 02/12/2008, 13h29
  4. Réponses: 8
    Dernier message: 14/05/2008, 11h15
  5. Problème d'ajout d'infos dans un fichier
    Par Munkey74 dans le forum Langage
    Réponses: 11
    Dernier message: 05/06/2007, 16h10

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