Probléme entrée Null pour le paramètre

Signaler
Messages postés
5
Date d'inscription
mardi 19 mai 2020
Statut
Membre
Dernière intervention
25 mai 2020
-
Bonjour,
j'ai envoyé un paramètre id depuis une vue et le récupérer dans un controleur pour utiliser sa valeur dans une requête , tout me semble parfait sauf que ça génère une erreur de redirection ,
merci d'avance pour votre aide

la vue :

 <div class="col-md-6">
                    <div class="form-group">
                      
                      @Html.ActionLink("valider", "listaydroit", "aydroits", new { iddem = item.id_demande }))

                    </div>
                </div>
  



Le controller qui utilise le paramètre

public ActionResult listaydroit(int iddem)
        {
            int idutilisateur = int.Parse(Session["id_utilisateur"].ToString());

          
            var VC = (from a in db.employe

                      join b in db.utilisateur
                      on a.id_employe equals b.idemploye_utilisateur


                      join c in db.demande
                      on b.id_utilisateur equals c.idutilisateur_demande


                      join e in db.aydroit
                      on a.id_employe equals e.idemploye_aydroit

                      where b.id_utilisateur == idutilisateur && c.id_demande == iddem 

                      select new
                      {


                          e.nom_aydroit,
                          e.prenom_aydroit, 
                          c.id_demande

                      }).FirstOrDefault();


            Session["nom_ayd"] = VC.nom_aydroit.ToString();
            Session["prenom_ayd"] = VC.prenom_aydroit.ToString();
            Session["id_demande"] = VC.id_demande.ToString();
                                                            


            List<employe> employes = db.employe.ToList();
            List<demande> demandes = db.demande.ToList();
            List<utilisateur> utilisateurs = db.utilisateur.ToList();
            List<aydroit> aydroits = db.aydroit.ToList();

            List<valideyd > valideayds = db.valideyd.ToList();

            try
            {                               

                var CV = (from a in employes

                          join b in utilisateurs
                          on a.id_employe equals b.idemploye_utilisateur

                          join c in demandes
                          on b.id_utilisateur equals c.idutilisateur_demande

                          join e in aydroits
                          on a.id_employe equals e.idemploye_aydroit

                          where b.id_utilisateur == idutilisateur && c.id_demande == iddem

                          select new AydroitViewModel
                          {
                              aydroitlist = e,
                         
                          });
                            

                return View(CV);

            }
            catch (Exception ex)
            {
                throw ex;

            }
                       
        }




problème : déjà que je n'arrive pas à comprendre pourquoi Action link change de direction , puisqu'il est sensé atterrir dans cette url :
 http://localhost:61725/aydroits/listaydroit?Length=8


et là j'obtiens ça :

http://localhost:61725/demandes/aydroits?iddem=57


aprés si je le force j'ai cette erreur

Le dictionnaire de paramètres contient une entrée Null pour le paramètre « iddem » de type non Nullable « System.Int32 » pour la méthode « System.Web.Mvc.ActionResult listaydroit(Int32) » dans « freegest.Controllers.aydroitsController ». Un paramètre facultatif doit être un type référence, un type Nullable ou être déclaré en tant que paramètre facultatif.
Nom du paramètre : parameters