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 :

Erreur paramètre id null / optionnel


Sujet :

ASP.NET MVC

  1. #1
    Membre à l'essai
    Femme Profil pro
    Informaticienne
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Informaticienne
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut Erreur paramètre id null / optionnel
    Bonjour,

    Je viens d'ajouter une vue sur la méthode Detail
    Nom : 2016-02-18_14h59_19.png
Affichages : 151
Taille : 5,3 Ko

    le fichier detail.cshtml est le suivant :
    Code : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    @model GestInconsAnnuaire.Models.InformationUser
     
    @{
        ViewBag.Title = "Details";
    }
     
    <h2>Details</h2>
     
    <div>
        <h4>InformationUser</h4>
        <hr />
        <dl class="dl-horizontal">
            <dt>
                @Html.DisplayNameFor(model => model.FirstName)
            </dt>
     
            <dd>
                @Html.DisplayFor(model => model.FirstName)
            </dd>
     
            <dt>
                @Html.DisplayNameFor(model => model.LastName)
            </dt>
     
            <dd>
                @Html.DisplayFor(model => model.LastName)
            </dd>
     
            <dt>
                @Html.DisplayNameFor(model => model.Connection_ID)
            </dt>
     
            <dd>
                @Html.DisplayFor(model => model.Connection_ID)
            </dd>
     
            <dt>
                @Html.DisplayNameFor(model => model.Email_Address)
            </dt>
     
            <dd>
                @Html.DisplayFor(model => model.Email_Address)
            </dd>
     
            <dt>
                @Html.DisplayNameFor(model => model.Location)
            </dt>
     
            <dd>
                @Html.DisplayFor(model => model.Location)
            </dd>
     
        </dl>
    </div>
    <p>
        @Html.ActionLink("Edit", "Edit", new { id = Model.Id }) |
        @Html.ActionLink("Back to List", "Index")
    </p>
    j'obtiens ce message d'erreur lorsque je le lance dans le navigateur:
    Nom : 2016-02-18_15h02_40.png
Affichages : 183
Taille : 210,8 Ko

    Merci encore.

  2. #2
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Bonjour,

    Tu as oublié de passer ton item InformationUser avec l'id correspondant à ton return View().
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Informaticienne
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Informaticienne
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par Momoth Voir le message
    Bonjour,

    Tu as oublié de passer ton item InformationUser avec l'id correspondant à ton return View().
    Bonsoir Momoth

    Tu peux être plus explicite stp?

    Merci d'avance

  4. #4
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Si j'ai bien compris tu as une liste d'objet InformationUser, et tu souhaites afficher dans ton cshtml l'objet qui porte l'Id passé en parametre.

    Il faut donc dans ta méthode détail récupérer cet objet et le passer à ta vue.

    Ca devrait ressembler à quelque chose comme ca.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public ActionResult Details(int id)
    {
         InformationUser item = ListInformationUser.FirstOrDefault(InformationUser unIU => unIU.Id = id);
         return View(item);
    }
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Informaticienne
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Informaticienne
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par Momoth Voir le message
    Si j'ai bien compris tu as une liste d'objet InformationUser, et tu souhaites afficher dans ton cshtml l'objet qui porte l'Id passé en parametre.

    Il faut donc dans ta méthode détail récupérer cet objet et le passer à ta vue.

    Ca devrait ressembler à quelque chose comme ca.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public ActionResult Details(int id)
    {
         InformationUser item = ListInformationUser.FirstOrDefault(unIU => unIU.Id = id);
         return View(item);
    }
    Je n'arrive pas à intégrer les choses, je ne sais quoi mettre après (InformationUser.????? = id) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public ActionResult Details (int id)
            {
                InformationUser item = _db.InformationsUsers.FirstOrDefault(InformationUser. = id);
                return View(item);
     
            }

  6. #6
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    InformationUser est une de tes classes métier, il me semble. Normalement il doit avoir une propriété faisant office d'Id. Il faut que tu compares cette propriété avec l'id passé en paramètre à la fonction détail.

    Pour plus d'info, il faudrait que tu me montre le contenu de ta classe InformationUser.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Août 2013
    Messages : 51
    Points : 74
    Points
    74
    Par défaut
    Premièrement l'erreur que ça te donne ça dit que ton paramètre ID est Non null et que tu essaie de mettre un null dans un paramètre qui n'accepte pas les null. Je te conseil de modifier int id pour int? id. Il te faudrais gérer le null

    Ensuite tu pourra

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public ActionResult Details(int? id)
    {
                var item = new InformationUser();
     
                if(id.HasValue)
                item = _db.InformationsUsers.FirstOrDefault(InformationUser.Id =(int) id);
     
               var model = new ViewModel(){
                    Item = item ,..
                 }
                return View(model);
    }
    Bonne chance

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2008, 10h49
  2. [XSL] Calculer le nombre de paramètres non null
    Par tafkap dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/06/2007, 17h48
  3. Affichage d’une erreur paramétrée
    Par khayri dans le forum Struts 1
    Réponses: 4
    Dernier message: 10/01/2007, 11h54
  4. erreur de valaur nulle..qui ne l'est pas :-(
    Par bachilbouzouk dans le forum ASP
    Réponses: 7
    Dernier message: 20/04/2005, 08h52
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

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