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 :

Accès a un code behind distant


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut Accès a un code behind distant
    Bonjour a tous.

    J'ai cherché sur notre ami Google mais je n'ai pas trouvé de solution (il n'y en a peut être pas)

    J'aimerais savoir si il est possible d'accéder au code behind (au moins aux attributs) d'une page aspx ou master depuis un autre code behind.

    Je m'explique : j'ai un site internet de plusieurs langues. Le menu de chaque langue se situe dans la page master de la langue en attribut sous forme d'un String[] (donc une master par langue)

    J'aimerai depuis ma page master FR accéder au menu (en attribut) de la page master EN.

    Plus généralement est-il déja possible d'accéder au code behind d'une page différente?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu ne pourrais pas plutôt utiliser le système standard de localisation avec les fichiers resx ? Ce serait plus propre, plus simple et ça éviterait ce genre de bidouilles...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    C'est un peu plus complexe car en fait j'ai plusieurs versions françaises en fonction du pays.

    FR_FR, FR_EN, LB_FR, LB_EN, CA_FR, CA_EN...

    car les contenus sont susceptible d'être différent en fonction du pays. Donc j'ai des versions dupliqué de mon site (d'entreprise).

    Dans le pire des cas je peux simplement créer une classe langue, mais c'est juste pour savoir si c'est possible?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par yakuzayang Voir le message
    C'est un peu plus complexe car en fait j'ai plusieurs versions françaises en fonction du pays.

    FR_FR, FR_EN, LB_FR, LB_EN, CA_FR, CA_EN...

    car les contenus sont susceptible d'être différent en fonction du pays. Donc j'ai des versions dupliqué de mon site (d'entreprise).
    Ce scénario est prévu par le système de localisation de .NET. Tu as des cultures spécifiques pour chaque pays (fr-FR, fr-BE, fr-CA, en-US, en-GB...)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    En fait je pense que je me suis mal (très) expliqué.

    j'ai fait un tour dans les tuto d'utilisation des fichiers resx ("outil" que j'ai peu pratiqué) et je n'ai pas l'impression que la solution soit là.

    Dans mon site web, une barre de langue est disponible en haut de chaque page : pays puis culture (fr_en, fr_fr, lb_fr, lb_en...)

    Actuellement quand on clique sur une autre culture (suite a la sélection d'un pays) on arrive sur la home de cette culture.

    L'idée est de faire la correspondance entre la page ou j'étais précédemment (la description d'un produit en fr_fr par exemple) et la nouvelle page qui est son équivalent dans la culture choisie (la description du même produit en lb_en).

    L'astuce était donc d'aller chercher le tableau du menu présent dans chaque page master de chaque culture pour aller y trouver les adresses équivalentes et les coller via le code behind dans la page aspx.

    Sachant que les noms de page et de dossiers diffères et qu'il n'y a pas forcément toujours d'équivalent...

    Compliqué tout ça

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    OK, mais d'une culture à l'autre, il y a quelque chose qui change à part les textes ? Parce que sinon, je te confirme que les resx répondent bien au besoin...

    En gros, au lieu d'avoir tes textes en dur dans la page, tu vas avoir des références aux textes définis dans les ressources. Par exemple, au lieu d'écrire ça :

    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Label runat="server" Text="Bonjour le monde" />

    Tu vas écrire ça :
    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Label runat="server" Text="<%$ Resources: Home, HelloWorld %>" />

    (HelloWorld étant une ressource de type string définie dans Home.resx)

    Ca prendra automatiquement la valeur dans le fichier resx qui correspond à la culture courante (Thread.CurrentUICulture)

    T'es sûr que c'est vraiment pas ça que tu veux ? En tous cas, quel que soit le besoin exact, l'approche que tu envisages me parait vraiment pas terrible... c'est vraiment du bricolage

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut
    oui je me doutais bien que ma solution n'était pas top n'ayant trouvé aucun article a ce sujet.

    ok pour ta solution je sais essayer de voir pour adapté ça! Merci!

Discussions similaires

  1. MVC, helpers, probleme d'acces du code behind
    Par Invité dans le forum ASP.NET
    Réponses: 1
    Dernier message: 03/02/2010, 15h02
  2. [C#] acces à un control depuis code behind
    Par Louis-Guillaume Morand dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/04/2006, 08h42
  3. [C#]ajout code dans code behind
    Par liliprog dans le forum ASP.NET
    Réponses: 8
    Dernier message: 21/06/2005, 11h03
  4. Réponses: 5
    Dernier message: 24/05/2005, 12h31
  5. [VB.NET] Création d'un tableau en code behind
    Par netr dans le forum ASP.NET
    Réponses: 6
    Dernier message: 11/05/2004, 10h02

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