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 :

DropDownList + Autopostback + Paramètres dans l'URL = Problèmes :/ [Débutant]


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par défaut DropDownList + Autopostback + Paramètres dans l'URL = Problèmes :/
    Salut

    Je reviens encore une fois vers vous pour cette fois-ci un problème d'Autopostback qui me vire mes paramètres passés dans l'URL...

    Dans la vue de mon action Index de mon contrôleur Suivi, j'ai des images avec lien vers une autre action de mon contrôleur, l'action PageDomaines :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                            <a href="@Url.Action("PageDomaines", new { Controller = "Suivi", CR = VarCR, Appli = VarAppli[j] })">
                                <img src="../../Content/Images/feu_rouge.png" alt="Statut OK" border="0" /></a>
    Comme vous pouvez le voir, j'envoie des paramètres via l'URL (CR et Appli) à mon action PageDomaines, jusque là tout va bien, je les récupère bien et effectue bien ma requête avec les paramètres renvoyés et qui fonctionne.

    Ensuite dans la vue de mon action PageDomaines, j'ai une DropDownList effectuant un autopostback (enfin même avec un bouton Submit, ça me le fait donc bon...) renvoyant une certaine valeur à mon action qui ensuite effectue une requête en fonction de celle-ci.

    Mais lorsque je sélectionne une valeur, mes paramètres disparaissent dans un trou noir intersidéral (au moins) et c'est la merde
    J'ai absolument besoin de conserver ces paramètres afin d'afficher la bonne page.

    Voici ma liste en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    @using (Html.BeginForm("PageDomaines", "Suivi"))
    {
        @Html.DropDownList("DDL", new SelectList(new[] { "MMCR", "MMCL", "MMCO", "MMSE", "MMAS" }), "--Select one--", new { onchange = "this.form.submit();" })
    }
    Et mon action PageDomaines :
    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
     
            public ActionResult PageDomaines(string CR, string Appli, string DDL)
            {
     
                string GetCR = CR;
                string GetAppli = Appli;
                string GetDDL = DDL;
     
                if (GetDDL == null)
                {
                    var items = GetDomaines();
                    int Var1 = DateTime.Now.Year;
                    int Var2 = DateTime.Now.Month;
                    string Var3 = "" + Var1 + Var2;
     
                    var Query = (from i in items
                                 where i.Field<String>("CD_APPLI") == GetAppli && i.Field<String>("CD_CR") == GetCR && i.Field<Int64>("PERIODE").ToString().Contains(Var3)
                                 select new Suivi { CD_TRT = i.Field<String>("CD_TRT"), LB_TRT = i.Field<String>("LB_TRT"), CD_CR = i.Field<String>("CD_CR"), PERIODE = i.Field<Int64>("PERIODE"), CD_APPLI = i.Field<String>("CD_APPLI"), STATUT = i.Field<String>("STATUT") }).ToList();
     
                    ViewData["CR"] = GetCR;
                    ViewData["Appli"] = GetAppli;
     
                    return View(Query);
                }
                else
                {
                    var items = GetDomaines();
                    int Var1 = DateTime.Now.Year;
                    int Var2 = DateTime.Now.Month;
                    string Var3 = "" + Var1 + Var2;
     
                    var Query = (from i in items
                                 where i.Field<String>("CD_APPLI") == GetAppli && i.Field<String>("CD_CR") == GetCR && i.Field<Int64>("PERIODE").ToString().Contains(Var3) && i.Field<String>("CD_TRT") == GetDDL
                                 select new Suivi { CD_TRT = i.Field<String>("CD_TRT"), LB_TRT = i.Field<String>("LB_TRT"), CD_CR = i.Field<String>("CD_CR"), PERIODE = i.Field<Int64>("PERIODE"), CD_APPLI = i.Field<String>("CD_APPLI"), STATUT = i.Field<String>("STATUT") }).ToList();
     
                    ViewData["CR"] = GetCR;
                    ViewData["Appli"] = GetAppli;
     
                    return View(Query);
                }
            }
    Savez-vous comment je pourrais faire pour conserver mes paramètres lorsque je sélectionne ma valeur dans la liste ?

    J'espère avoir été assez clair, merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Bonjour n'ayant pas la possibilité de tester actuellement, il faudrait refaire le Html.BeginForm qui actuellement envoi uniquement vers le contrôleur et l'action sans paramètres (sauf ceux se trouvant à l'intérieur du formulaire).

    Peut-être qu'en procédant de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @using (Html.BeginForm("PageDomaines", "Suivi", new { CR = VarCR, Appli = VarAppli[j] }))
    Une autre méthode si ça t'es indifférent de garder dans l'url les paramètres, serait de les passer dans des champs Hidden à l'intérieur de ton formulaire.

    Bonne journée.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Par défaut
    Citation Envoyé par SoBaKa Voir le message
    Bonjour n'ayant pas la possibilité de tester actuellement, il faudrait refaire le Html.BeginForm qui actuellement envoi uniquement vers le contrôleur et l'action sans paramètres (sauf ceux se trouvant à l'intérieur du formulaire).

    Peut-être qu'en procédant de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @using (Html.BeginForm("PageDomaines", "Suivi", new { CR = VarCR, Appli = VarAppli[j] }))
    Une autre méthode si ça t'es indifférent de garder dans l'url les paramètres, serait de les passer dans des champs Hidden à l'intérieur de ton formulaire.

    Bonne journée.
    Yeah !! Ca marche parfaitement :p

    J'avais déjà essayé de les passer avec des Hidden mais sans succès, tout comme de les mettre en paramètres dans le BeginForm mais bon j'avais pas du tout la bonne syntaxe x)

    Bon bah merci beaucoup, je galérais à trouver la solution et du coup je l'avais laissé de côté mais ça me fait un problème en moins de réglé

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

Discussions similaires

  1. Problème Gridview et paramètre dans l'URL
    Par krovomi dans le forum ASP.NET
    Réponses: 10
    Dernier message: 12/12/2009, 10h26
  2. erreur de passage de paramètre dans une urL
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/02/2007, 12h29
  3. [WebForms]Récupération d'un paramètre dans l'URL
    Par Kylen dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 07/06/2006, 13h22
  4. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15
  5. récupérer les paramètres dans une url
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 23/12/2005, 10h08

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