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 :

EditorFor r interprète une list<T> comme un element


Sujet :

ASP.NET MVC

  1. #1
    Invité
    Invité(e)
    Par défaut EditorFor r interprète une list<T> comme un element
    Bonjour a tous,

    Je viens de tomber sur un problème "mystique" en MVC3

    J'ai crée une vue dans Shared => EditorTemplates, templetée sur le type @model IEnumerable<GPW.Models.MyModel>
    Et ce model :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class MyModelContainer
    {
       public List<MyModel> ModelList {get; set;}
    }
    Puis dans une vue templetée comme ceci @model GPW.Models.MyModelContainer, j'ai un @Html.EditorFor(m => m.ModelList)

    Si vous m'avez suivit, tout devrait vous sembler normal. Or une exception est levée me disant que j'envoie un @GPW.Models.MyModel a ma vue a la place d'un IEnumerable<GPW.Models.MyModel>.

    J'ai bien vérifié pendant longtemps et le objet que j'envoie a le bon type. C'est L'EditorFor qui inteprète mal le type.
    J'ai contourné le problème, mais j'aimerais savoir pourquoi il est apparu.

    Merci.
    Dernière modification par Invité ; 04/07/2013 à 15h26.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Par défaut
    Bonjour,

    Il y a quelque chose qui me parait étrange dans ton code.
    En effet, tu fais une view lié à ton model MyModelContainer qui a le membre suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<MyModel> ModelList {get; set;}
    Ensuite, dans ta view, tu bind ta List<MyModel> ModelList dans un @Html.EditorFor().
    Du coup, je trouve ça un peu bizarre de binder directement une List sur UN élément Html.

    C'est surement à ce niveau qu'il s'y perd.
    Il doit essayer d'en récupérer qu'un seul (d'où le @GPW.Models.MyModel).

  3. #3
    Invité
    Invité(e)
    Par défaut
    C'est ce que je me dis, mais étant donnée que l'on peut passer des listes dirrectement depuis le controller, j'estime que cela doit etre possible (a voir sur les prochaines versions du MVC peut etre).

    Du coup pour contourner, j'ai fait une methode dans le controller qui retourne la liste en question et ai fait un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="MyModelPlacement"> </div>
     
    <script>
    $("#MyModelPlacement").load("/Home/ReturnList");
    </script>
    Je trouve ça triste de devoir passer par là...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Par défaut
    Je ne comprends toujours pas pourquoi mettre une List dans un élément html.
    Ce que tu peux/dois faire, si tu veux utiliser ta liste, c'est faire un foreach dessus par exemple afin d'afficher tous tes éléments.

    Ensuite, tu récupères les bonnes infos et tu fais les traitements que tu veux.

Discussions similaires

  1. Réponses: 20
    Dernier message: 19/11/2016, 22h32
  2. [2008R2] Executer une liste de procédure stockées commes valeurs de champ d'une table.
    Par M.A.X.I.M.E. dans le forum Développement
    Réponses: 2
    Dernier message: 18/06/2014, 14h21
  3. Utilisation d'une liste de POCO's comme datasource
    Par Kropernic dans le forum VB.NET
    Réponses: 15
    Dernier message: 13/06/2013, 12h44
  4. [SP-2007] lire une liste de fichier infopath comme bdd
    Par benneb dans le forum SharePoint
    Réponses: 3
    Dernier message: 23/11/2009, 08h52
  5. [PostGreSQL] Trier une liste ayant deux requêtes comme source
    Par Mat_DZ dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 09/08/2006, 10h51

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