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 :

Rappel de la page d'accueil - problème


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Par défaut Rappel de la page d'accueil - problème
    Bonjour,

    voilà, un ptit problème de lundi matin :-)

    J'ai une page Default.aspx qui est la page d'accueil de mon site intranet http://monserveurweb/monapplicationweb/

    Donc les utilisateurs entrent l'url ci-dessus et arrivent sur la page default.aspx (mais dont le nom ne s'affiche pas dans l'url). Dès le premier rafraîchissement de la page (sur la sélection d'une dropdownlist), la page se recharge mais cette fois avec l'url http://monserveurweb/monapplicationweb/Default.aspx ce qui a pour conséquence que la première action de l'utilisateur n'a pas été prise en compte (le choix de la liste déroulante).

    Comment faire pour résoudre ce problème ? A savoir pour que ma page default.aspx apparaisse dans l'url même si l'utilisateur ne la tape pas ?

    Merci pour votre aide

    Steve

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    http://monserveurweb/monapplicationweb/

    et

    http://monserveurweb/monapplicationweb/Default.aspx

    constituent la meme adresse pour ton site web. La premiere n'est qu une redirection intrinseque de ton IIS vers la seconde en vertu des pages par defaut que tu lui as donné dans la configuration de ton site web.

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Par défaut
    Bonjour et merci pour ta réponse.

    En fait j'avais bien compris que ces 2 url pointent vers la même page. Mais mon problème est le suivant :

    1. l'utilisateur arrive sur la page d'accueil par l'intermédiaire de http://monserveurweb/monapplicationweb/ (donc il est sur Default.aspx)
    2. Il sélectionne un élément dans une liste déroulante qui engendre un postback de la page afin de remplir la 2ème liste déroulante.
    3. Le problème est qu'à ce moment là on voit dans l'url http://monserveurweb/monapplicationweb/Default.aspx et la page se recharge comme si c'était la première fois que je la lance (et du coup la 2ème liste déroulante ne se charge pas).

    Mon problème a pour cause que dans mon Page_Load j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (!IsPostBack)
                {
                    //Remplissage du premier drowdownlist
                    SqlConnection conn = (SqlConnection)Session["conn"];
                    string selectGroupe = "SELECT idGroupe, nomGroupe FROM groupe ORDER BY nomGroupe";
                    SqlDataAdapter adapt = new SqlDataAdapter(selectGroupe, conn);
                    DataSet ds = new DataSet();
                    adapt.Fill(ds, "groupes");
                    ddListGroupe.DataSource = ds.Tables["groupes"];
                    ddListGroupe.DataTextField = "nomGroupe";
                    ddListGroupe.DataValueField = "idGroupe";
                    ddListGroupe.DataBind();
                    ddListGroupe_SelectedIndexChanged(sender, e);
                }
    et donc comme la page à l'air de se charger pour la 2ème fois sans faire un postback, ça repasse dans le code et annule le choix de l'utilisateur en réinitialisant la première liste déroulante.

    Je sais pas si je suis compréhensible.....

    Steve

  4. #4
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Ce que j'ai tenté de t'expliquer, c'est que ton probleme n'a aucun rapport avec le rechargement de ta page suite a un probleme d'url.

    Il s'agirait plutot selon moi de conservation des données dans le viewstate par exemple. Est ce que lors du postback ta premiere dropdownlist recupere bien le selected index fait precedemment. Cela implique qu'elle ait éte chargée afin que lors de l'attruibution du postback ta dropdownlist puisse reperer l'element selectionné.

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Par défaut
    Hello Arthis,

    désolé mais je persiste :-)

    Je fais l'expérience suivante :

    1. Premier test :
    - Je lance l'url : http://monserveurweb/monapplicationweb/
    - La page Default.aspx s'affiche, mais l'url ne contient pas encore Default.aspx
    - Je sélectionne un élément de ma dropdownlist
    - La page se rafraîchit, l'url de mon navigateur devient http://monserveurweb/monapplicationweb/Default.aspx
    - La drowdownlist n'a pas gardé la valeur sélectionnée est s'est ré-initialisée (car on est repassé dans le code du if(!IsPostBack) alors qu'il ne fallait pas puisque c'est un postback mais le serveur comprend ça comme le premier chargement de Default.aspx)
    - Par contre si maintenant je sélectionne à nouveau un élément de la dropdownlist, alors la page se rafraîchit et ma 2ème liste déroulante se remplit correctement, selon la sélection de la premier liste déroulante.

    2. 2ème test :
    - je lance directement l'url : http://monserveurweb/monapplicationweb/Default.aspx
    - la page s'affiche, je sélectionne l'élément de ma première liste déroulante
    - et sans problème la page se rafraîchit et me remplit la 2ème liste déroulante selon l'élément sélectionné dans la première.

    Donc à mon avis c'est plutôt un problème de config serveur ou du site ?

    ps : actuellement je résoud le problème en redirigeant vers une autre page au chargement de Default.aspx... comme ça, plus de problème... mais bon, si je peux comprendre le fonctionnement de cette page par défaut, ça me plairait mieux...

  6. #6
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Effectivement, un avis plus expert que le mien pourrait peut etre te répondre alors. Je vais vérifier le comportement que tu me dis..

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/03/2009, 12h22
  2. Réponses: 2
    Dernier message: 16/02/2009, 16h38
  3. Problème à ouvrir ma page d'accueil
    Par Xzander dans le forum IIS
    Réponses: 2
    Dernier message: 06/06/2006, 15h43
  4. [FLASH MX2004] Problème page d'accueil Flash MX 7.2
    Par milianna dans le forum Intégration
    Réponses: 6
    Dernier message: 21/04/2006, 13h47

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