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;
    }
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  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