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 :

Only one 'model' statement is allowed in a file


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Par défaut Only one 'model' statement is allowed in a file
    Salut

    Quand j'essaie d'ajouter une déclaration d'un deuxième modèle dans ma page .aspx j’obtiens l'erreur suivante:

    Only one 'model' statement is allowed in a file
    pouvez-vous m'aider!
    merci,
    pacifiquement.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par pacifiquement Voir le message
    Quand j'essaie d'ajouter une déclaration d'un deuxième modèle dans ma page .aspx j’obtiens l'erreur suivante:

    Only one 'model' statement is allowed in a file
    Bah le message est assez clair, non ? On ne peut pas déclarer plusieurs modèles dans la même page, c'est tout...
    La directive @model crée une vue fortement typée, pour un type de modèle donné : ça indique le type de la propriété Model. Or cette propriété ne peut pas avoir 2 types différents...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Par défaut
    Salut,

    mais si jamais j'ai plusieurs objets à utiliser et encore un IEnumerable comment peut-on y arriver !!

    merci.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par pacifiquement Voir le message
    mais si jamais j'ai plusieurs objets à utiliser et encore un IEnumerable comment peut-on y arriver !!
    Tu crées une classe modèle spécifique pour englober ces objets

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Par défaut
    Salut

    je ne suis pas arrivée à le faire
    y a pas un exemple sur internet ?!

    merci.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par pacifiquement Voir le message
    je ne suis pas arrivée à le faire
    Pas arrivé à faire quoi ? A créer une classe ?! Si c'est ça il faudrait sérieusement penser à te replonger dans un cours de C#

    En gros, si tu as des objets X et Y (de types Titi et Toto) que tu veux utiliser comme modèles, tu crées une classe comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class MonModele
    {
        public Titi X { get; set; }
        public Toto Y { get; set; }
    }
    Pour le passer à la vue, tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return View(new MonModele { X = x, Y = y });
    Et dans la vue, tu mets MonModele comme modèle...

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2010
    Messages : 119
    Par défaut
    bonjour,
    Je suppose que tu parle de vu fortement typé. Si c'est le cas je pense que c'est normal parce que d'après moi on ne peut pas faire "hériter" une vue fortement typée de plusieurs modèle. Tu devrais créer un ModelView qui correspond aux différents champs dont tu as besoin dans ta vue et faire "hériter" ta vue de ce ModelView.
    PS: désolé je répète un peu ce que vient de dire Tomlev, je n'avais pas vu qu'il avait déjà répondu au post
    cordialement,

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 24/06/2011, 23h22
  2. Réponses: 1
    Dernier message: 04/04/2011, 23h16
  3. Réponses: 6
    Dernier message: 17/03/2011, 23h27
  4. Réponses: 2
    Dernier message: 04/02/2009, 13h24
  5. [VB.NET] Error: There can be only one 'page' directive
    Par Redouane dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/11/2004, 19h16

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