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 :

Routing: Action avec deux paramètres dont un optionnel


Sujet :

ASP.NET MVC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 60
    Points : 54
    Points
    54
    Par défaut Routing: Action avec deux paramètres dont un optionnel
    Bonjour à tous,

    Je viens vers vous pour vous soumettre mon problème. Ce dernier est simple en apparence, aussi je ne serais pas surpris que l'erreur se corrige en une ligne de code.

    Dans mon controller "Home", j'ai un ActionResult "Recherche" qui peut prendre en paramètre deux strings, dont le second est optionnel. C'est à dire que je souhaiterai pouvoir appeler l'action par le biais des deux exemples suivants:

    Cas 1: http:// localhost/MonSite/Home/Recherche/MaValeur1/MaValeur2
    Cas 2: http:// localhost/MonSite/Home/Recherche/MaValeur1
    En pratique, ca passe. Dans les deux cas mon point d'arrêt à l'entrée de mon ActionResult "Recherche" est bien atteint dans les deux cas. Le cas 1 est OK. Le problème est que dans le cas 2, les deux paramètres reçus par le ActionResult sont null alors que normalement seulement le second est censé l'être.

    RouteConfig:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                routes.MapRoute(
                    name: "Recherche",
                    url: "{controller}/{action}/{v1}/{v2}",
                    defaults: new { controller = "Home", action = "Recherche", v2 = UrlParameter.Optional }
                );
    Controller:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            public ActionResult Recherche(string v1, string v2)
            {
                (...)
            }
    J'ai tout essayé, même de passer le v1 en Optional dans le RouteConfig, mais rien n'y fait: quand je passe un seul paramètre dans l'URL, les deux paramètres reçus sont nulll.

    A votre avis, qu'est ce qui ne va pas dans ce code?

    Par avance merci!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Salut,

    Première question :
    Est ce que ta route "Recherche" est bien définit avant ta route par Default ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                routes.MapRoute(
                    name: "Recherche",
                    url: "{controller}/{action}/{v1}/{v2}",
                    defaults: new { controller = "Home", action = "Recherche", v2 = UrlParameter.Optional }
                );
     
                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 60
    Points : 54
    Points
    54
    Par défaut
    Damned! C'était ça le problème!

    Quelqu'un peut-il expliquer quelles sont les règles à suivre concernant l’ordonnancement des routes dans le RouteConfig?

    Passé en résolu!

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

Discussions similaires

  1. [AC-2003] Comment appeler une fonction avec deux paramètres. Erreur '=' attendu
    Par nirG95 dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/09/2009, 10h53
  2. Action avec plusieurs paramètres
    Par plsavary dans le forum Struts 2
    Réponses: 1
    Dernier message: 07/09/2007, 10h54
  3. [Visual Web] Query avec deux paramètres
    Par eponette dans le forum NetBeans
    Réponses: 1
    Dernier message: 19/03/2007, 13h44
  4. [MySQL] La pagination avec deux paramètres
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 05/10/2006, 14h25
  5. Procédure stockée avec deux paramètres ADO/ORACLE
    Par zanifu dans le forum Bases de données
    Réponses: 7
    Dernier message: 01/03/2006, 09h13

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