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 :

Request.QueryString dans une classe


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut Request.QueryString dans une classe
    Bonjour,

    J'ai créé dans mon site Web dans App_Code/Includes la classe screenMessages.vb dont voici le code:
    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
    Imports Microsoft.VisualBasic
    Imports System.Data.OleDb
    Imports getSettingKey
    Imports stringFunctions
     
     
    Public Class screenMessages
     
        Public Shared Function getMsg(ByVal pIdScreenMessage As Integer, ByVal pMem As String) As String
     
            Dim oDatabase As New databaseFunctions
            Dim objRd As OleDbDataReader
            Dim objConn As New OleDbConnection(getConnectionString())
            Dim oSetting As New getSettingKey
     
            objConn.Open()
     
            oDatabase.getFromDatabase2(objConn, objRd, "SELECT screenMessageFr FROM screenMessages WHERE idScreenMessage=" & pIdScreenMessage & "  AND idStore=" & pIdStore)
            getMsg = ""
     
             While objRd.Read()
                getMsg = objRd.GetString(0)
            End While
            objConn.Close()
     
        End Function
    End Class
    Ma question est: en fonction d'une variable pLang dont le resultat est renvoyé par une Request.QueryString(Lang) je voudrais modifier la classe supra et écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If pLang="Fr" then
           oDatabase.getFromDatabase2(objConn, objRd, "SELECT screenMessageFr FROM screenMessages WHERE idScreenMessage=" & pIdScreenMessage & "  AND idStore=" & pIdStore)
            getMsg = ""
    Else
           oDatabase.getFromDatabase2(objConn, objRd, "SELECT screenMessageNl FROM screenMessages WHERE idScreenMessage=" & pIdScreenMessage & "  AND idStore=" & pIdStore)
            getMsg = ""
    End if
    Mon problème est que j'ai l'erreur suivante: Déclaration attendue

    ou Impossible de faire référence à un membre instance d'une classe à partir d'une méthode partagée ou d'un initialiseur de membre partagé sans une instance explicite de la classe.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Par défaut
    Tu peux donner le code de la ligne qui plante?

  3. #3
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    De la ligne if pLang = "Fr"...
    Mais je pense ue cela vient ausi du fait que j'ignore comment je dois déclarer cette variable pLang dans mon screenMessages.vb.

    PS: jusquà présent je développais en ASP et je patauge un peu avec ASP.NET

  4. #4
    Membre chevronné Avatar de Pilru
    Homme Profil pro
    Dev ASP.NET/jQuery ; Admin ORACLE
    Inscrit en
    Septembre 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev ASP.NET/jQuery ; Admin ORACLE

    Informations forums :
    Inscription : Septembre 2007
    Messages : 491
    Par défaut
    Citation Envoyé par Mvu Voir le message
    Mais je pense ue cela vient ausi du fait que j'ignore comment je dois déclarer cette variable pLang dans mon screenMessages.vb.
    Tu l'as déclaré comment ?
    Sinon, pourquoi ne pas la passer en paramètre de ta fonction ?

  5. #5
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    pLang n'est pas un paramètre. C'est un request.querystring. Si pLang = "Fr" alors il doit afficher screenMessageFr sinon il doit afficher screenMessageNl.
    Cele ma permet de gérer le slangues du site qui est bilingue.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Pour recupere le queryString a partir d'une classe :

    dim MonQs = HttpContext.Current.Request.QueryString

  7. #7
    Membre chevronné Avatar de Pilru
    Homme Profil pro
    Dev ASP.NET/jQuery ; Admin ORACLE
    Inscrit en
    Septembre 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev ASP.NET/jQuery ; Admin ORACLE

    Informations forums :
    Inscription : Septembre 2007
    Messages : 491
    Par défaut
    Citation Envoyé par Mvu Voir le message
    pLang n'est pas un paramètre. C'est un request.querystring. Si pLang = "Fr" alors il doit afficher screenMessageFr sinon il doit afficher screenMessageNl.
    Cele ma permet de gérer le slangues du site qui est bilingue.
    J'avais bien compris ça. Cependant il faut bien avoir déclaré pLang quelque part pour pouvoir l'utiliser dans la méthode getmsg de la classe screenMessages comme tu le souhaites, non ?

    Ma solution serait de passer le querystring en paramètre de la fonction getmsg.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/05/2014, 09h49
  2. Réponses: 8
    Dernier message: 09/07/2005, 23h10
  3. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15
  4. Thread dans une classe ?
    Par Sephi dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 07/03/2004, 18h16
  5. Fonction callback dans une classe
    Par julian_ross dans le forum MFC
    Réponses: 8
    Dernier message: 02/03/2004, 11h42

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