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 :

Charger une page aspx dans une autre


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut Charger une page aspx dans une autre
    Bonjour tous,

    J'espère poster ma demande au bon endroit

    Aujourd'hui je requiert votre aide, parce que je suis un vrai gland....qui ne désespère pas de devenir un jour peut-être, un chêne

    Après avoir creusé pendant des jours, je me retrouve au fond du trou et toujours sans réponse. Je ne dois pas creuser au bon endroit. Si une âme bienveillante pouvait m'envoyer une corde.

    Alors voilà, mon souci est moulte simple....mais sa résolution me prends la tête.

    J'ai un template principal Default.aspx dans lequel j'ai un objet Flash qui me sert de menu. J'aimerai que lorsque je clique sur ce menu Flash, un sous-page aspx s'affiche dans mon Default.aspx et ce, sans recharger mon Default.aspx afin que mon animation Flash continue son ptit bonhonne de chemin.

    Voilà mes divers tentatives :

    Solution 1
    Lors d'un clique sur menu Flash, appel d'une fonction javacript et affichage d'une sous-page dans une balise <div> via l'objet XMLHttpRequest().
    Problème: cela ne permet que d'afficher des sous-page .html et j'aimerai
    afficher des .aspx

    Solution 2
    Insérer une iframe dans ma Default.aspx.
    Problème: Là, ça fonctionne plutôt pas mal, sauf qu'apparemment cette méthode est déconseillée. Donc, tant à faire autant faire juste tout de suite.

    Là, j'en suis a creuser du côté d'AJAX. J'ai vu que grâce au ScriptManager et UpdatePanel, il était possible de faire des rafraîchissements partiel d'un formulaire. Jusque là, ok, mais est-il possible via cette méthode ou une méthode similaire de charger une page dans une autre ?

    Bref, comme vous pouvez le constater, là, suis vraiment pommé, alors si une âme charitable pouvait me donner une piste à suivre ou un ptit exemple de code.

    D'avance un grand merci pour vos lumières.

    Chris

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

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Avec Ajax, il me semble bien que cela n'est pas possible de charger une page dans une autre, juste de faire des traitements sur la même page.

    Si tu veux absolument passer par du flash pour ton menu alors et que ce menu sera le même sur toutes tes pages, tu pourrais passer par une antiquité, c'est a dire une frame. Mais ce serait vraiment pour avoir ton animation qui ne serait pas dépendante de ta navigation...

    Par ailleurs, je suis sur qu'en disant cela, cela va m'attirer les foudres de mes collègues et ainsi créer un débat...

    En tout cas bon courage à toi,

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Un grand merci à toi Arthis d'avoir pris le temps de me répondre et ce, aussi rapidement.

    S'il n'y a vraiment pas de soluce avec AJAX (snif, moi qui me faisais une joie de plonger les mains dans le cambouis .NET + AJAX ), alors je vais suivre ton conseil et repartir sur la voie du <iframe>. Certe, peut-être antique et décrié, mais bon, il est toujours mieux d'avoir une 2 CV qui roule qu'une Ferrari au garage

    A+ et merci

    PS: Je vais quand même attendre un chouilla avant de mettre ce message en résolu, des fois que quelqu'un aurait encore une idée.

  4. #4
    Membre confirmé
    Avatar de chemanel
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 173
    Points : 457
    Points
    457
    Par défaut
    Bonjour,

    Plusieurs petites choses...

    Est ce que tes animations nécessite absolument Flash ? Ne pourrais tu pas faire quelque chose de similaire avec JQuery par exemple ? (ajax)

    Sinon il y a une solution :

    Tu fais une MasterPage, ta master page contient ton menu en flash (flash peut communiquer avec la page par JavaScript) ensuite, la ou tu veux raffraichir ton contenu, tu met un UpdatePanel, avec dedans ton Content.

    Est ce que tu vois comment ça marche les MasterPages?

    Ensuite, au lieu de faire des pages entières en .aspx, tu fais des User Control (qui correspondent a tes pages).

    Il suffira de Loader le controle dans l'update panel, et tu auras l'effet voulu...

    J'suis désolé de pas être très clair, mais résumé cela en quelques lignes vite fait c'est pas facile...

    Si tu vois plus ou moins ce que je veux dire, je peux te donner plus d'infos pour t'aider !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Tout d'abord, merci de ta réponse.

    En fait, je suis en train de développer un ptit site pour une personne évoluant dans les métiers artistiques. C'est pour cela que j'ai trouvé opportun d'essayer de faire un menu animé et coloré en Flash....vais finir par le regretter
    JQuery, j'ai entendu parlé de cette 'biblio' javascript en faisant mes recherches pour mon bug. Mais étant déjà novice en Flash et .NET, je vais, pour l'instant me concentrer là-dessus :-)

    Sinon, yes, ta solution de charger des .ascx me plaît bien. Elle fait partie des soluces que j'ai tenté sans grand succès. En fait, avec cette solution, 2 grandes questions se sont posées à moi.

    La 1ère (plutôt théorique) est que, étant donnée que la presque totalité des pages seront des .ascx sans balises d'en-tête et autres, ne va-t-il pas y avoir un problème pour le référencement?
    ou est que je peux tout de même déclarer des balises <title> et <meta> sur les ascx?

    Mon 2ème souci, technique, est le suivant.
    1. J'arrive à passer mes variables Flash à javascript
    2. J'arrive à loader un contrôle .ascx depuis du code C#

    Jusque là, pas de souci , mais maintenant, j'aimerai que javascript charge un contrôle .ascx en fonction de la variable Flash qu'il a reçu.

    Penses-tu que cela soit possible? Moi, perso, je sèche lamentablement.

    Voilà-voilà, en tout cas, merci pour ton aide.

  6. #6
    Membre confirmé
    Avatar de chemanel
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 173
    Points : 457
    Points
    457
    Par défaut
    Citation Envoyé par KoalaVS Voir le message
    La 1ère (plutôt théorique) est que, étant donnée que la presque totalité des pages seront des .ascx sans balises d'en-tête et autres, ne va-t-il pas y avoir un problème pour le référencement?
    ou est que je peux tout de même déclarer des balises <title> et <meta> sur les ascx?
    Réponse simple : NON ! Tu pourrais changer, grâce a C#+Ajax les balises <title>, dans le navigateur ça chagnera, mais mes robots des différents moteur n'arriveront pas a suivre les liens qui renvois des variables javascript a partir de l'intérieur du flash ...
    Niveau référencement c'est pas top top...

    Citation Envoyé par KoalaVS Voir le message
    Jusque là, pas de souci , mais maintenant, j'aimerai que javascript charge un contrôle .ascx en fonction de la variable Flash qu'il a reçu.

    Penses-tu que cela soit possible? Moi, perso, je sèche lamentablement.

    Voilà-voilà, en tout cas, merci pour ton aide.
    Oui c'est possible, mais pas facile, tu dois manipuler le ScriptManager, pour qu'il force l'update d'un update panel en envoyant au passage ta variable...



    Je te conseillerai quand même (en tout cas pour commencer) de commencer par des trucs faciles! :-)

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Points : 707
    Points
    707
    Par défaut
    J'insisterai quand même du coté de la master page, si ta page defaut est vraiment une page dont tu dois avoir accès tout le temps. Les user controles c'est bien pour les réutiliser de temps en temps mais je pense que si c'est pour tout les pages passe par une masterpage. Tu n'auras plus de problème normalement

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2009
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Merci pour toutes vos précieuses réponses.

    A la lumière de tout ce qui a été dit, je vais terminé mon projet le plus simplement possible, en utilisant les iframes. Car finalement, après réflexion, d'un point de vue client, lui, du moment que son site tourne, il s'en fiche de savoir si la techno qui tourne là derrière est décriée ou non

    Pour le reste, vais tenter de me former la moindre aux Ma sterPage Ajax et autres joyeusetées .NET, car tout cela m'a l'air très intéressant

    Bonne continuation.

  9. #9
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    Les iframe ne sont dans ton cas conseillées que car tu veux que ta navigation ne perturbe pas ton animation flash.

    D'un point de vue strictement programmation, la solution de Chemanel est la meilleure.

    Par aileurs, en gardant ton animation et par la même en ne "navigant" que sur une seule page, tu vas te générer pas mal de problèmes pour le référencement de tes pages.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/11/2013, 14h24
  2. Réponses: 3
    Dernier message: 21/05/2013, 10h27
  3. Include une page aspx dans une autre
    Par kodo dans le forum ASP.NET
    Réponses: 2
    Dernier message: 14/01/2011, 10h24
  4. Réponses: 8
    Dernier message: 26/03/2010, 08h16
  5. Charger une page aspx dans une autre
    Par Hafiz.B dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/01/2010, 14h19

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