Master Page en ASP .NET 2.0

cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009 - 12 avril 2007 à 15:45
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009 - 18 avril 2007 à 13:48
Bonjour,

Je realise un site avec une Master Page (avec Menu et Infos diverses) qui s'affiche donc a toutes mes pages.
Cependant je ne voudrait pas que la Master Page soit rechargé a chaque mais une seul fois au debut.

Comment faire cela ???

Merci d'avance

18 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
13 avril 2007 à 01:17
Bonjour,

ASP.net est une solution web donc utilise HTML + HTTP, je ne vois donc pas exactememnt ce que tu veux faire. Si je comprend ce que tu veux, tu pourrais le faire à grand coup d'UpdatePanel mais ce serait vraiment très sale ...

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
16 avril 2007 à 14:50
Voci en fait mon problème :

J'ai un site en ASP que je doit passer en ASP .NET 2.0.
Ce site utilisait des frames pour ne pas recharger le menu et la banniere du haut.

Comment faire, en ASP .NET 2.0, pour remplacer ces frames et ainsi eviter le chargement du menu a chaque fois qu'une page est chargée ?

La Master Page est-elle vraiment adaptée ?

Merci d'avance
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 avril 2007 à 17:52
Si tu regardes la plupart des sites (dont celui-ci) ils rechargent le menu pour chaque page et il y a pas mal de raisons ;-) (référencement, accessibilité, simplicité, ...)

La MasterPage te permet de définir un modèle et ensuite de travailler dans ce modèle sans se préoccuper du menu & co qui sera mutualisé.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
17 avril 2007 à 08:45
Oui mais j'ai besoin d'un site rapide, celui-ci est relativement lent quand même.
Je voudrait que le menu ne soit pas rechargé.

Il y a bien une solution ... même sans utiliser les Master Page

Non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 avril 2007 à 10:11
Je ne suis pas sur que recharger le menu soit très très  lent, ou alors c'est que t'as un problème soit lors de la génération du menu coté serveur, soit de l'interpretation du menu coté client.

Mais recharger toute la page est souvent la meilleure solution.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
17 avril 2007 à 11:11
D'accord mais je n'ai pas que le menu j'ai d'autres traitements plus ou moins lourds qui font que ma Master Page est lourde.

Je ne veut donc en aucun cas la recharger ...

Il doit bien y avoir une solution ... même autre que la Master Page ... non ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 avril 2007 à 11:44
lourd = ? lourd coté server ou lourd coté client ? si c'est coté serveur il faut repenser ton code, mettre du cache ou je ne sais quoi : bref optimisé.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
17 avril 2007 à 12:03
Bon oublions la lourdeur de mes traitements !

Je ne veux pas recharger mon Master Page .

Comment puis-je faire ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 avril 2007 à 12:35
DEMERDE TOI !



sans blague ! t'es qui pour crier comme ca ? J'essaye seulement de t'aider et limite tu exiges une solutions toute faites ? t'as qu'a apprendre les bases du HTML. T'as les horribles frame/iframe qui font ce que t'as besoin et t'aurais trouvé cette solution en faisant un minimum de recherche ... si je te la propose pas c'est que je la déconseil fortement plus pleins de raisons et que dans ton cas ce n'est pas utile sauf si tu as une raison précise de ne pas vouloir recharger toute la page (ce qui est stupide) après tu peux aussi utiliser XMLHttpRequest + un httpmodule qui execute la page sans son master mais vu que tu as déjà du mal avec un master tout simple j'ai pas parler de cette solution et là encore ca pose des problèmes d'accessibilité, de référencement, de lourdeur etc... et pour utiliser cette solution il faut vraiment bien connaitre HTML, ASP.net, JavaScript ...

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
17 avril 2007 à 13:15
Je voulais pas te brusquer, dsl.

Je voudrais ne pas recharger mon Master Page car j'ai beaucoup d'acces au base de données et les traitement sont lents (je ne peux pas faie plus rapide).
Je ne vois pas comment faire à part ne pas recharger ma MP.

Merci d'avance et encore désolé
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 avril 2007 à 13:21
Tu peux utiliser le cache pour mettre tes données qui vient de la base de données :) comment crois tu que la partie gauche de ce site fonctionne ? on ne fait pas des accès bases à chaque requete ;-)

tu peux aussi mettre toutes les sections dans un UserControl et mettre la directive <% @ OutputCache %> qui te permettra de mettre le contenu du html en cache serveur et ainsi y réacceder très rapidement derriere.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
17 avril 2007 à 18:01
Merci pour la réponse,

J'ai essayé ce que tu m'as proposé mais le traitement VB qui est lancé au load du UserControl est tout de meme executé, ce qui n'ameliore quasiment pas mes perf.

Y a t-il quelque chose qui cloche dans l'ensemble de mon projet ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 avril 2007 à 22:37
si le <% @ OutputCache est bien configuré l'evenement load du UserControl n'est pas executé : c'est là tout son interet. et on utilise enormement ca sur ce site.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
18 avril 2007 à 08:38
Comment bien configurer ce fameux OutputCache ?

J'ai mis cela dans mon UserControl <%@ OutputCache Duration="60" VaryByParam="none" %> mais élas l'évenement load est tout même effectué.

Il y a quelque chose qui cloche ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
18 avril 2007 à 10:06
l'évenement load de ta page ou de ton UserControl ?

l'évenement load de la page c'est normal puisque celui ci n'est pas en cache mais l'evenement load de l'usercontrol par contre ce n'est pas normal.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
18 avril 2007 à 10:51
C'est l'évenement load du UserControl qui s'execute. C'est bein ça le problème ...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
18 avril 2007 à 11:35
ah ben oui suis-je bete j'avais pas vu :)

si tu dit pas sur quelle paramètre tu veux cacher ton UserControl ... il faut mettre VaryByParam="*" qui indique que l'on met en cache pour toutes les requetes, varyByParam veut dire que chaque requete sera mis en cache donc pas franchement utile.

<hr />Cyril - MSP - MCTS ASP.net & SQL
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
18 avril 2007 à 13:48
 même effet, l'évenement load du UserControl est tout de même éxécuté.

Je comprend plus rine là !
0
Rejoignez-nous