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 :

Envoyer des paramètres à la page master


Sujet :

ASP.NET

  1. #1
    Membre éprouvé Avatar de kazhar
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut Envoyer des paramètres à la page master
    Bonjour,

    J'ai plusieurs pages dans une application, qui appellent toutes une page master.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="News.aspx.vb" Inherits="myProject.News"  MasterPageFile="admin.Master"%>
    Dans ma page master, je vérifie si l'utilisateur est correctement identifié ou non et si il peut accéder à la page.
    Pour cela, j'aurais besoin de spécifier un niveau d'accès à cette page.

    Et donc de transmettre ce niveau d'accès au master.
    Cependant vu la manière dont cela semble s'exécuter (exécution complète du master puis exécution complète de l'esclave), toutes les solutions "habituelles" (je suis plus développeur Ruby et Python. ASP est nouveau pour moi) ne fonctionnent pas.

    Mais peut-être que j'ai tout simplement un point de vue incorrect et que vous allez pouvoir me donner une solution qui m'éviterait d'avoir à remplacer tous mes appels à la page master par des includes

  2. #2
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    A partir des formes utilisant ta MasterPage, tu peux appeler des méthodes de celle-ci. Il suffit que les méthodes que tu souhaites appeler soient publiques :

    WebFormxx (en c# mais la conversion en vb doit être simple )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     (this.Master as TaMasterPage).TaMethode();

  3. #3
    Membre éprouvé Avatar de kazhar
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut
    Oui, j'ai tenté quelque chose de similaire en premier test.
    J'ai fait une variable partagée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Shared accessLevel As Integer
    Puis dans ma page esclave, je fait un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
            admin.accessLevel = 8
        End Sub
    Après, j'ai plus qu'à utiliser ma variable admin.accessLevel pour vérifier si l'utilisateur a un niveau suffisamment élevé.

    Mais apparemment, le processus d'exécution est le suivant :
    - master
    |- Page_Init
    |- Page_Load
    - esclave
    |- Page_Init
    |- Page_Load

    Donc ma variable accessLevel est définie trop tard, je ne peux pas l'utiliser.
    Le problème serait le même en appellant une méthode.

    Après tu ne parlait peut-être pas de faire cela ?

  4. #4
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Donc ma variable accessLevel est définie trop tard, je ne peux pas l'utiliser.
    Le problème serait le même en appellant une méthode.
    J'ai pas tout capté, elle serait définie trop tard pour faire quoi ?

    Et à quoi correspond ta variable admin

  5. #5
    Membre éprouvé Avatar de kazhar
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut
    admin n'est pas une variable. C'est une classe (celle de ma page master).
    accessLevel est une variable "shared", qui est donc accessible même sans charger la classe.

    Lorsque je définis la variable accessLevel dans la méthode Page_Init de ma page esclave, c'est trop tard pour l'utiliser dans la méthode Page_Load de mon master.

  6. #6
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Ok j'ai mieux compris et en effet c'est trop tard.

    tu ferais mieux de passer par une variable non shared, et définir (comme dans mon 1er exemple) ton accessLevel au travers d'une méthode. Ainsi tu pourras effectuer des traitements au sein de ta MasterPage lorsque tu modifie l'accessLevel.

  7. #7
    Membre éprouvé Avatar de kazhar
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut
    Je crois que je vois ce que tu veut dire et l'idée me semble plutôt bonne

    J'appelle ma méthode définissant le niveau d'accès.
    Et dans celle-ci, si le niveau d'accès est trop élevé, je kill la page.

    C'est un bon compromis. Merci

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

Discussions similaires

  1. Envoyer des paramètres get sans recharger ma page ?
    Par neo18045 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 28/06/2014, 14h43
  2. Envoyer des paramètres à une page PHP en POST
    Par Skima dans le forum Services Web
    Réponses: 1
    Dernier message: 01/10/2013, 13h37
  3. [FLASH 8] Envoyer des paramètres de flash à java
    Par jbidou88 dans le forum Flash
    Réponses: 12
    Dernier message: 21/09/2006, 09h31
  4. Réponses: 5
    Dernier message: 12/06/2006, 15h23
  5. Réponses: 18
    Dernier message: 03/03/2006, 18h19

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