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 Discussion :

Passage correct de parametres dans une URL + récupération


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 92
    Points
    92
    Par défaut Passage correct de parametres dans une URL + récupération
    Bonjour,

    Depuis un menu de ma master page, j'appelle une page MaPage.aspx avec des paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <ul>
                          <li><a href="MaPage.aspx?type=1">Cas 1</a></li>
                          <li><a href="#" onclick="Test()">Cas 2</a></li>
    </ul>
    Dans le premier cas (MaPage.aspx?type=1), je place ceci dans le Page_Load de MaPage.aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Type = Int32.Parse(Request.Params["type"]);
    J'ai le message d'erreur :
    Demande non disponible dans ce contexte.
    'Request' a levé une exception de type 'System.Web.HttpException'
    Dans le second cas (onclick="Test()) j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    protected void Test(object sender, EventArgs e)
     
        {
            Response.Redirect("Mapage.aspx?type=2");
     
        }
    Ici, rien ne se produit.

    Pourriez-vous s'il vous plaît me dire comment régler cela et me conseiller sur la meilleur façon de passer les paramètres.

    Merci beaucoup,
    T.

  2. #2
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Bonjour,

    Pour recupérer des paramètres passé en get mieux vaut faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (Request.QueryString["type"] != null)
    {
          string type = Request.QueryString["type"];
    }
    Fait bien le test si null, car tu peux levè une execption.

    Pour passer des paramètre de manière dynamique tu peux faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect(string.Format("/mapage.aspx?type={0}&page={1}", myType, myPage));
    myType et myPage étant des variables préalablement déclarées.

    Pour l'appel de ta méthode essaye plutot:
    Sans les parenthèses.

    A+

  3. #3
    Membre confirmé Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Points : 527
    Points
    527
    Par défaut
    petite note

    En effet lorsque tu appel une méthode de cette manière :
    cela signifie que tu appels une méthode de javascript.

    Sinon si tu souhaites appeler une méthode du code behind ne les mets pas

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 92
    Points
    92
    Par défaut
    Bon, ça ne fonctionne toujours pas, ni dans un cas, ni dans l'autre.

    Dans le premier, le seul test que je puisse faire c'est if (Request != null) et il passe. Ensuite, une exception est levée :
    Demande non disponible dans ce contexte.
    'Request' a levé une exception de type 'System.Web.HttpException'
    Pour le onclick...même résultat...

    Merci malgré tout pour cette réponse. J'ai du passer à côté de qqchose d'évident.
    T.

  5. #5
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Alors essaye comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="#" runat="server" onclick="Test">
    ou comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:LinkButton ID="LinkButton1" runat="server" onclick="Test" Text="myLink"/>
    Tu verra, c'est beaucoup mieux quand ton composant est runner sur le serveur.

    Sinon pour le reste, je suis sûre de moi.
    Le problème vient sûrement d'une erreur de synthaxe.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 92
    Points
    92
    Par défaut
    Bon, pas mieux. Même avec le runat ="server"...

  7. #7
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Question bette: Ta méthode est bien dans le code-behind de ta masterPage?

    Aussi vérifie bien l'héritage entre ta masterPage.aspx et ta masterPage.aspx.cs

    exemple coté aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="pages.master.cs" Inherits="pages_pages"%>
    exemple coté cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public partial class pages_pages : System.Web.UI.MasterPage

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Points : 92
    Points
    92
    Par défaut
    Pas de souci question MasterPage.
    T.

  9. #9
    Candidat au Club
    Homme Profil pro
    informaticien
    Inscrit en
    Juillet 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par nasimpat7 Voir le message
    Bonjour,

    Pour recupérer des paramètres passé en get mieux vaut faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (Request.QueryString["type"] != null)
    {
          string type = Request.QueryString["type"];
    }
    Fait bien le test si null, car tu peux levè une execption.

    Pour passer des paramètre de manière dynamique tu peux faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect(string.Format("/mapage.aspx?type={0}&page={1}", myType, myPage));
    myType et myPage étant des variables préalablement déclarées.

    Pour l'appel de ta méthode essaye plutot:
    Sans les parenthèses.

    A+
    Bonjour!!
    Je veux utiliser ce code pour sélectionner les informations de ma BD!!! Cad, je veux faire un

    select * from vin where ([région=type])

    Aidez svp je débute en ASP.net et c#

Discussions similaires

  1. Passer parametre dans une url
    Par hugo7 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 24/05/2009, 15h26
  2. Réponses: 7
    Dernier message: 15/10/2008, 12h21
  3. Réponses: 1
    Dernier message: 09/10/2007, 22h53
  4. Réponses: 5
    Dernier message: 05/06/2007, 13h14
  5. Réponses: 10
    Dernier message: 31/03/2006, 19h56

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