Cette question doit très certainement etre un classique, mais je n'ai pas
trouvé de référence à une quelconque faq dans les 800 messages que mon
brouteur vient de charger sur ce news.
J'aimerais savoir s'il est possible de définir dynamiquement le nom d'un
controle qui doit etre chargé dans une page html.
Je m'explique : en PHP par exemple, on travaille avec des includes. Il est
possible de faire varier la valeur de ces includes en fonction d'un
parametre recu [apres les necessaires verif de securité of course.]. Cela
permet de vraiment eviter la duplication du code html et de se reposer sur
un "template" unique.
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template
sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont
beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne
des pages explose car un <td> a saute, etc.... J'en suis arrive à la
conclusion que ce systeme de duplication de template à la dreamqwaever like
n'etait pas satisfaisant. J'aimerais definr une page d'entree , toujorus la
meme, et changer le contenu de header footer leftMenu ContentCenter etc...
en fontion d'un param contextuel.
Mais avant tout, j'aimerais demander l'avis des spécialistes siur la
question.
Le but n'est pas DU TOUT de troller, juste de s'orienter vers la meilleure
pratique possible. Surtout qu'il me semble que parfois, les objets ont du
mal à se voir d'un control à un autre.
Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des décorations de pages dynamiques, le plus simple est de mettre des contrôles PlaceHolder aux endroits qui changent de décoration et de les remplacer par les contrôles appropriés de manière dynamiques. -- Paul Bacelar MVP VC++
"slambert" wrote in message news:44d61ede$0$8256$
Bonjour les gens
Cette question doit très certainement etre un classique, mais je n'ai pas trouvé de référence à une quelconque faq dans les 800 messages que mon brouteur vient de charger sur ce news.
J'aimerais savoir s'il est possible de définir dynamiquement le nom d'un controle qui doit etre chargé dans une page html.
Je m'explique : en PHP par exemple, on travaille avec des includes. Il est possible de faire varier la valeur de ces includes en fonction d'un parametre recu [apres les necessaires verif de securité of course.]. Cela permet de vraiment eviter la duplication du code html et de se reposer sur un "template" unique.
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne des pages explose car un <td> a saute, etc.... J'en suis arrive à la conclusion que ce systeme de duplication de template à la dreamqwaever like n'etait pas satisfaisant. J'aimerais definr une page d'entree , toujorus la meme, et changer le contenu de header footer leftMenu ContentCenter etc... en fontion d'un param contextuel.
Mais avant tout, j'aimerais demander l'avis des spécialistes siur la question.
Le but n'est pas DU TOUT de troller, juste de s'orienter vers la meilleure pratique possible. Surtout qu'il me semble que parfois, les objets ont du mal à se voir d'un control à un autre.
Voila voila, merci d'avance !
@ ++
Stef
Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des
décorations de pages dynamiques, le plus simple est de mettre des contrôles
PlaceHolder aux endroits qui changent de décoration et de les remplacer par
les contrôles appropriés de manière dynamiques.
--
Paul Bacelar
MVP VC++
"slambert" <slambertPASDESPAM@vediovis.net> wrote in message
news:44d61ede$0$8256$626a54ce@news.free.fr...
Bonjour les gens
Cette question doit très certainement etre un classique, mais je n'ai pas
trouvé de référence à une quelconque faq dans les 800 messages que mon
brouteur vient de charger sur ce news.
J'aimerais savoir s'il est possible de définir dynamiquement le nom d'un
controle qui doit etre chargé dans une page html.
Je m'explique : en PHP par exemple, on travaille avec des includes. Il est
possible de faire varier la valeur de ces includes en fonction d'un
parametre recu [apres les necessaires verif de securité of course.]. Cela
permet de vraiment eviter la duplication du code html et de se reposer sur
un "template" unique.
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template
sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont
beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne
des pages explose car un <td> a saute, etc.... J'en suis arrive à la
conclusion que ce systeme de duplication de template à la dreamqwaever
like n'etait pas satisfaisant. J'aimerais definr une page d'entree ,
toujorus la meme, et changer le contenu de header footer leftMenu
ContentCenter etc... en fontion d'un param contextuel.
Mais avant tout, j'aimerais demander l'avis des spécialistes siur la
question.
Le but n'est pas DU TOUT de troller, juste de s'orienter vers la meilleure
pratique possible. Surtout qu'il me semble que parfois, les objets ont du
mal à se voir d'un control à un autre.
Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des décorations de pages dynamiques, le plus simple est de mettre des contrôles PlaceHolder aux endroits qui changent de décoration et de les remplacer par les contrôles appropriés de manière dynamiques. -- Paul Bacelar MVP VC++
"slambert" wrote in message news:44d61ede$0$8256$
Bonjour les gens
Cette question doit très certainement etre un classique, mais je n'ai pas trouvé de référence à une quelconque faq dans les 800 messages que mon brouteur vient de charger sur ce news.
J'aimerais savoir s'il est possible de définir dynamiquement le nom d'un controle qui doit etre chargé dans une page html.
Je m'explique : en PHP par exemple, on travaille avec des includes. Il est possible de faire varier la valeur de ces includes en fonction d'un parametre recu [apres les necessaires verif de securité of course.]. Cela permet de vraiment eviter la duplication du code html et de se reposer sur un "template" unique.
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne des pages explose car un <td> a saute, etc.... J'en suis arrive à la conclusion que ce systeme de duplication de template à la dreamqwaever like n'etait pas satisfaisant. J'aimerais definr une page d'entree , toujorus la meme, et changer le contenu de header footer leftMenu ContentCenter etc... en fontion d'un param contextuel.
Mais avant tout, j'aimerais demander l'avis des spécialistes siur la question.
Le but n'est pas DU TOUT de troller, juste de s'orienter vers la meilleure pratique possible. Surtout qu'il me semble que parfois, les objets ont du mal à se voir d'un control à un autre.
Voila voila, merci d'avance !
@ ++
Stef
slambert
> Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des décorations de pages dynamiques, le plus simple est de mettre des contrôles PlaceHolder aux endroits qui changent de décoration et de les remplacer par les contrôles appropriés de manière dynamiques.
Presque. Avec le PlaceHolder , je peux changer le contenu d'une zone par l'element voulu.
Mais moi, je voudrais changer le contenu d'une zone par un gros bloc d'aspx.
Exemple:
là, tu as une page type avec un header, un left menu, et un footer donné. Moi, je veux changer pouvoir changer de header, footer, etc, ..., en fonction d'un parametre. Comme cela, toutes mes urls seront de la forme Default.aspx?page=mapage , et en fonction de la valeur contenue dans page, je charge les controles que je veux aux bons endroits. Et là, finis la duplication abusive du code HTML.
> Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des
décorations de pages dynamiques, le plus simple est de mettre des
contrôles PlaceHolder aux endroits qui changent de décoration et de les
remplacer par les contrôles appropriés de manière dynamiques.
Presque. Avec le PlaceHolder , je peux changer le contenu d'une zone par
l'element voulu.
Mais moi, je voudrais changer le contenu d'une zone par un gros bloc d'aspx.
Exemple:
là, tu as une page type avec un header, un left menu, et un footer donné.
Moi, je veux changer pouvoir changer de header, footer, etc, ..., en
fonction d'un parametre. Comme cela, toutes mes urls seront de la forme
Default.aspx?page=mapage , et en fonction de la valeur contenue dans page,
je charge les controles que je veux aux bons endroits. Et là, finis la
duplication abusive du code HTML.
> Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des décorations de pages dynamiques, le plus simple est de mettre des contrôles PlaceHolder aux endroits qui changent de décoration et de les remplacer par les contrôles appropriés de manière dynamiques.
Presque. Avec le PlaceHolder , je peux changer le contenu d'une zone par l'element voulu.
Mais moi, je voudrais changer le contenu d'une zone par un gros bloc d'aspx.
Exemple:
là, tu as une page type avec un header, un left menu, et un footer donné. Moi, je veux changer pouvoir changer de header, footer, etc, ..., en fonction d'un parametre. Comme cela, toutes mes urls seront de la forme Default.aspx?page=mapage , et en fonction de la valeur contenue dans page, je charge les controles que je veux aux bons endroits. Et là, finis la duplication abusive du code HTML.
Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Tout est dynamique et il n'y a pas de duplication de code. -- Paul Bacelar MVP VC++
"slambert" wrote in message news:44d65df2$0$8230$
Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des décorations de pages dynamiques, le plus simple est de mettre des contrôles PlaceHolder aux endroits qui changent de décoration et de les remplacer par les contrôles appropriés de manière dynamiques.
Presque. Avec le PlaceHolder , je peux changer le contenu d'une zone par l'element voulu.
Mais moi, je voudrais changer le contenu d'une zone par un gros bloc d'aspx.
Exemple:
là, tu as une page type avec un header, un left menu, et un footer donné. Moi, je veux changer pouvoir changer de header, footer, etc, ..., en fonction d'un parametre. Comme cela, toutes mes urls seront de la forme Default.aspx?page=mapage , et en fonction de la valeur contenue dans page, je charge les controles que je veux aux bons endroits. Et là, finis la duplication abusive du code HTML.
Lors du Load de la page vous vérifié le paramètre de la page et vous
instanciez les user ou customcontrol que vous placez dans les PlaceHolder
correspondant.
Tout est dynamique et il n'y a pas de duplication de code.
--
Paul Bacelar
MVP VC++
"slambert" <slambertPASDESPAM@vediovis.net> wrote in message
news:44d65df2$0$8230$626a54ce@news.free.fr...
Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des
décorations de pages dynamiques, le plus simple est de mettre des
contrôles PlaceHolder aux endroits qui changent de décoration et de les
remplacer par les contrôles appropriés de manière dynamiques.
Presque. Avec le PlaceHolder , je peux changer le contenu d'une zone par
l'element voulu.
Mais moi, je voudrais changer le contenu d'une zone par un gros bloc
d'aspx.
Exemple:
là, tu as une page type avec un header, un left menu, et un footer donné.
Moi, je veux changer pouvoir changer de header, footer, etc, ..., en
fonction d'un parametre. Comme cela, toutes mes urls seront de la forme
Default.aspx?page=mapage , et en fonction de la valeur contenue dans page,
je charge les controles que je veux aux bons endroits. Et là, finis la
duplication abusive du code HTML.
Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Tout est dynamique et il n'y a pas de duplication de code. -- Paul Bacelar MVP VC++
"slambert" wrote in message news:44d65df2$0$8230$
Je ne suis pas sur de tout comprendre, mais si c'est pour avoir des décorations de pages dynamiques, le plus simple est de mettre des contrôles PlaceHolder aux endroits qui changent de décoration et de les remplacer par les contrôles appropriés de manière dynamiques.
Presque. Avec le PlaceHolder , je peux changer le contenu d'une zone par l'element voulu.
Mais moi, je voudrais changer le contenu d'une zone par un gros bloc d'aspx.
Exemple:
là, tu as une page type avec un header, un left menu, et un footer donné. Moi, je veux changer pouvoir changer de header, footer, etc, ..., en fonction d'un parametre. Comme cela, toutes mes urls seront de la forme Default.aspx?page=mapage , et en fonction de la valeur contenue dans page, je charge les controles que je veux aux bons endroits. Et là, finis la duplication abusive du code HTML.
Parcequ'il y a quelque chose que je ne dois pas bien voir.
Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Je peux vraiment faire cela ? Aller chercher un fichier aspx [avec son .cs associé] et l'inclure là ou j'ai place mon PlaceHolder dans mon template ? Je ne suis pas limité à faire des betes add(simple element html) ?
Tout est dynamique et il n'y a pas de duplication de code.
Si oui, mon soucis est resolu : un tableau de hash pour associer le fichier à inclure en fonction du param pour telle ou telle zone, et c'est gagné.
@++
Stef
> Je ne comprends pas votre objection?
Parcequ'il y a quelque chose que je ne dois pas bien voir.
Lors du Load de la page vous vérifié le paramètre de la page et vous
instanciez les user ou customcontrol que vous placez dans les PlaceHolder
correspondant.
Je peux vraiment faire cela ? Aller chercher un fichier aspx [avec son .cs
associé] et l'inclure là ou j'ai place mon PlaceHolder dans mon template ?
Je ne suis pas limité à faire des betes add(simple element html) ?
Tout est dynamique et il n'y a pas de duplication de code.
Si oui, mon soucis est resolu : un tableau de hash pour associer le fichier
à inclure en fonction du param pour telle ou telle zone, et c'est gagné.
Parcequ'il y a quelque chose que je ne dois pas bien voir.
Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Je peux vraiment faire cela ? Aller chercher un fichier aspx [avec son .cs associé] et l'inclure là ou j'ai place mon PlaceHolder dans mon template ? Je ne suis pas limité à faire des betes add(simple element html) ?
Tout est dynamique et il n'y a pas de duplication de code.
Si oui, mon soucis est resolu : un tableau de hash pour associer le fichier à inclure en fonction du param pour telle ou telle zone, et c'est gagné.
@++
Stef
slambert
> Je ne comprends pas votre objection? Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Ca ne marche pas: je tente de charger une page ascx qui herite de son cs, et ca ne marche pas.
Ce n'est pas aussi simple. Ce ne sont pas que des elements html qu'il faut inclure, ce sont des briques de l'application.
En fait, il faudrait que je puisse indiquer dynamiquement le nom ou la source du Register que j'appelle. Et ca, j'arrive pas à le faire avec un PlaceHolder.
@ ++
Stef
> Je ne comprends pas votre objection?
Lors du Load de la page vous vérifié le paramètre de la page et vous
instanciez les user ou customcontrol que vous placez dans les PlaceHolder
correspondant.
Ca ne marche pas: je tente de charger une page ascx qui herite de son cs, et
ca ne marche pas.
Ce n'est pas aussi simple. Ce ne sont pas que des elements html qu'il faut
inclure, ce sont des briques de l'application.
En fait, il faudrait que je puisse indiquer dynamiquement le nom ou la
source du Register que j'appelle. Et ca, j'arrive pas à le faire avec un
PlaceHolder.
> Je ne comprends pas votre objection? Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Ca ne marche pas: je tente de charger une page ascx qui herite de son cs, et ca ne marche pas.
Ce n'est pas aussi simple. Ce ne sont pas que des elements html qu'il faut inclure, ce sont des briques de l'application.
En fait, il faudrait que je puisse indiquer dynamiquement le nom ou la source du Register que j'appelle. Et ca, j'arrive pas à le faire avec un PlaceHolder.
@ ++
Stef
Simon Mourier [SoftFluent]
ASP.NET est 100% orienté objet à la base, et 99% est programmable, sauf que ça ne se voit pas forcément quand on regarde juste les ASCX, les ASPX etc... Le moteur d'ASP.NET parse des fichiers, en crée des .CS, les compile, et utilise ensuite cette assembly pour faire le rendu des pages. Tout élement HTML rendu par ASP.NET correspond à l'appel d'une méthode d'un objet compilé dynamiquement par ASP.NET, ou manuellement par le développeur.
Les classes de base d'ASP.NET (concernant le rendu HTML) sont Control, WebControl, et Page (les deux dernières dérivent de Control d'ailleurs). Tout part de ça. Tous les autres contrôles dérivent et utilisent ceux là ou leurs dérivés, et on peut les manipuler programmatiquement, ce qui peut conceptuellement se comparer aux includes (PHP, ASP ou autres) sauf que c'est à mon avis bien plus puissant et élégant, mais il faut bien en comprendre le fonctionnement (notions de ControlBuilders, Templates, comment fonctionne le parsing, le control lifecycle, etc...)
Il faut que vous lisiez un peu la documentation ASP.NET et notamment les QuickStarts pour bien comprendre ce mécanisme, et ça m'étonnerait que vous n'arriviez pas à faire ce que vous souhaitez.
"slambert" a écrit dans le message de news: 44d7acee$0$13458$
Je ne comprends pas votre objection? Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Ca ne marche pas: je tente de charger une page ascx qui herite de son cs, et ca ne marche pas.
Ce n'est pas aussi simple. Ce ne sont pas que des elements html qu'il faut inclure, ce sont des briques de l'application.
En fait, il faudrait que je puisse indiquer dynamiquement le nom ou la source du Register que j'appelle. Et ca, j'arrive pas à le faire avec un PlaceHolder.
@ ++
Stef
ASP.NET est 100% orienté objet à la base, et 99% est programmable, sauf que
ça ne se voit pas forcément quand on regarde juste les ASCX, les ASPX etc...
Le moteur d'ASP.NET parse des fichiers, en crée des .CS, les compile, et
utilise ensuite cette assembly pour faire le rendu des pages. Tout élement
HTML rendu par ASP.NET correspond à l'appel d'une méthode d'un objet compilé
dynamiquement par ASP.NET, ou manuellement par le développeur.
Les classes de base d'ASP.NET (concernant le rendu HTML) sont Control,
WebControl, et Page (les deux dernières dérivent de Control d'ailleurs).
Tout part de ça. Tous les autres contrôles dérivent et utilisent ceux là ou
leurs dérivés, et on peut les manipuler programmatiquement, ce qui peut
conceptuellement se comparer aux includes (PHP, ASP ou autres) sauf que
c'est à mon avis bien plus puissant et élégant, mais il faut bien en
comprendre le fonctionnement (notions de ControlBuilders, Templates, comment
fonctionne le parsing, le control lifecycle, etc...)
Il faut que vous lisiez un peu la documentation ASP.NET et notamment les
QuickStarts pour bien comprendre ce mécanisme, et ça m'étonnerait que vous
n'arriviez pas à faire ce que vous souhaitez.
"slambert" <slambertPASDESPAM@vediovis.net> a écrit dans le message de news:
44d7acee$0$13458$636a55ce@news.free.fr...
Je ne comprends pas votre objection?
Lors du Load de la page vous vérifié le paramètre de la page et vous
instanciez les user ou customcontrol que vous placez dans les PlaceHolder
correspondant.
Ca ne marche pas: je tente de charger une page ascx qui herite de son cs,
et ca ne marche pas.
Ce n'est pas aussi simple. Ce ne sont pas que des elements html qu'il faut
inclure, ce sont des briques de l'application.
En fait, il faudrait que je puisse indiquer dynamiquement le nom ou la
source du Register que j'appelle. Et ca, j'arrive pas à le faire avec un
PlaceHolder.
ASP.NET est 100% orienté objet à la base, et 99% est programmable, sauf que ça ne se voit pas forcément quand on regarde juste les ASCX, les ASPX etc... Le moteur d'ASP.NET parse des fichiers, en crée des .CS, les compile, et utilise ensuite cette assembly pour faire le rendu des pages. Tout élement HTML rendu par ASP.NET correspond à l'appel d'une méthode d'un objet compilé dynamiquement par ASP.NET, ou manuellement par le développeur.
Les classes de base d'ASP.NET (concernant le rendu HTML) sont Control, WebControl, et Page (les deux dernières dérivent de Control d'ailleurs). Tout part de ça. Tous les autres contrôles dérivent et utilisent ceux là ou leurs dérivés, et on peut les manipuler programmatiquement, ce qui peut conceptuellement se comparer aux includes (PHP, ASP ou autres) sauf que c'est à mon avis bien plus puissant et élégant, mais il faut bien en comprendre le fonctionnement (notions de ControlBuilders, Templates, comment fonctionne le parsing, le control lifecycle, etc...)
Il faut que vous lisiez un peu la documentation ASP.NET et notamment les QuickStarts pour bien comprendre ce mécanisme, et ça m'étonnerait que vous n'arriviez pas à faire ce que vous souhaitez.
"slambert" a écrit dans le message de news: 44d7acee$0$13458$
Je ne comprends pas votre objection? Lors du Load de la page vous vérifié le paramètre de la page et vous instanciez les user ou customcontrol que vous placez dans les PlaceHolder correspondant.
Ca ne marche pas: je tente de charger une page ascx qui herite de son cs, et ca ne marche pas.
Ce n'est pas aussi simple. Ce ne sont pas que des elements html qu'il faut inclure, ce sont des briques de l'application.
En fait, il faudrait que je puisse indiquer dynamiquement le nom ou la source du Register que j'appelle. Et ca, j'arrive pas à le faire avec un PlaceHolder.
@ ++
Stef
Kalan
slambert a écrit :
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne des pages explose car un <td> a saute, etc.... J'en suis arrive à la conclusion que ce systeme de duplication de template à la dreamqwaever like n'etait pas satisfaisant. J'aimerais definr une page d'entree , toujorus la meme, et changer le contenu de header footer leftMenu ContentCenter etc... en fontion d'un param contextuel.
Bonjour,
je crois comprendre ton besoin. En PHP, je crois que nous appelons ca du "pseudo-frame". Une seule page et des 'include' dont le nom de fichier dépend de paramètres passés, par exemple, dans l'URL.
Avec .NET2, tu as ce que l'on appelle les "Master-Page". Ca te permet de définir des templates et de faire dériver chaque page ASPX d'un template donné. Le HTML commun n'est donc pas à reproduire et tout changement du template est immédiatemenbt appliqué aux pages.
Si tu n'as pas lapossibilité de passer en .NET2, moi j'avais utilisé les ascx. Voici un exemple de code pour les charger (en fait, ca se charge dnas le code behind).
J'ai une unique page : main.aspx qui contient des 'placeholder' aux endroits où, en PHP, je ferais un include dynamique.
Dans le load de la page main, j'appelle ma fonction SetContent (dont le paramètre me permettra de chargé les bons contrôles ascx).
void SetContent(string menu) { switch (menu) { case "news": lblTitreDroit.Text = "News"; // C'est simplement le texte de titre du bandeau droit contenu in fine // dans l'ascx "ContenuDroit";
//suppression du controle si déjà en place dans le PH "ContenuDroit" try { UserControl news = (UserControl)LoadControl("news.ascx"); // C'est ici que je charge le bon ascx news.ID = "news"; ContenuDroit.Controls.Add (news); //Hop, j'ajoute l'acsx } catch (Exception) { ... Le reste c'est du même ordre
En espérant avoir pu t'aider.
Cyril
slambert a écrit :
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template
sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont
beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne
des pages explose car un <td> a saute, etc.... J'en suis arrive à la
conclusion que ce systeme de duplication de template à la dreamqwaever like
n'etait pas satisfaisant. J'aimerais definr une page d'entree , toujorus la
meme, et changer le contenu de header footer leftMenu ContentCenter etc...
en fontion d'un param contextuel.
Bonjour,
je crois comprendre ton besoin. En PHP, je crois que nous appelons ca du
"pseudo-frame". Une seule page et des 'include' dont le nom de fichier
dépend de paramètres passés, par exemple, dans l'URL.
Avec .NET2, tu as ce que l'on appelle les "Master-Page". Ca te permet de
définir des templates et de faire dériver chaque page ASPX d'un template
donné. Le HTML commun n'est donc pas à reproduire et tout changement du
template est immédiatemenbt appliqué aux pages.
Si tu n'as pas lapossibilité de passer en .NET2, moi j'avais utilisé les
ascx. Voici un exemple de code pour les charger (en fait, ca se charge
dnas le code behind).
J'ai une unique page : main.aspx qui contient des 'placeholder' aux
endroits où, en PHP, je ferais un include dynamique.
Dans le load de la page main, j'appelle ma fonction SetContent (dont le
paramètre me permettra de chargé les bons contrôles ascx).
void SetContent(string menu)
{
switch (menu)
{
case "news":
lblTitreDroit.Text = "News";
// C'est simplement le texte de titre du bandeau droit contenu in fine
// dans l'ascx "ContenuDroit";
//suppression du controle si déjà en place dans le PH "ContenuDroit"
try
{
UserControl news = (UserControl)LoadControl("news.ascx");
// C'est ici que je charge le bon ascx
news.ID = "news";
ContenuDroit.Controls.Add (news);
//Hop, j'ajoute l'acsx
}
catch (Exception)
{
... Le reste c'est du même ordre
Or, dans le projet sur lequel je travaille [.net 1.0 + c#], les template sont fait sous dreamweaver [bouarf...], et donc toutes les pages aspx ont beaucoup, beaucoup de html en commun.... Et bien sur, regulierement, l'ne des pages explose car un <td> a saute, etc.... J'en suis arrive à la conclusion que ce systeme de duplication de template à la dreamqwaever like n'etait pas satisfaisant. J'aimerais definr une page d'entree , toujorus la meme, et changer le contenu de header footer leftMenu ContentCenter etc... en fontion d'un param contextuel.
Bonjour,
je crois comprendre ton besoin. En PHP, je crois que nous appelons ca du "pseudo-frame". Une seule page et des 'include' dont le nom de fichier dépend de paramètres passés, par exemple, dans l'URL.
Avec .NET2, tu as ce que l'on appelle les "Master-Page". Ca te permet de définir des templates et de faire dériver chaque page ASPX d'un template donné. Le HTML commun n'est donc pas à reproduire et tout changement du template est immédiatemenbt appliqué aux pages.
Si tu n'as pas lapossibilité de passer en .NET2, moi j'avais utilisé les ascx. Voici un exemple de code pour les charger (en fait, ca se charge dnas le code behind).
J'ai une unique page : main.aspx qui contient des 'placeholder' aux endroits où, en PHP, je ferais un include dynamique.
Dans le load de la page main, j'appelle ma fonction SetContent (dont le paramètre me permettra de chargé les bons contrôles ascx).
void SetContent(string menu) { switch (menu) { case "news": lblTitreDroit.Text = "News"; // C'est simplement le texte de titre du bandeau droit contenu in fine // dans l'ascx "ContenuDroit";
//suppression du controle si déjà en place dans le PH "ContenuDroit" try { UserControl news = (UserControl)LoadControl("news.ascx"); // C'est ici que je charge le bon ascx news.ID = "news"; ContenuDroit.Controls.Add (news); //Hop, j'ajoute l'acsx } catch (Exception) { ... Le reste c'est du même ordre
En espérant avoir pu t'aider.
Cyril
slambert
> Avec .NET2, tu as ce que l'on appelle les "Master-Page". Ca te permet de définir des templates et de faire dériver chaque page ASPX d'un template donné. Le HTML commun n'est donc pas à reproduire et tout changement du template est immédiatemenbt appliqué aux pages.
.......
Que cela est mignon. J'aime beaucoup !
Merci encore.
Rgds.
SL
> Avec .NET2, tu as ce que l'on appelle les "Master-Page". Ca te permet de
définir des templates et de faire dériver chaque page ASPX d'un template
donné. Le HTML commun n'est donc pas à reproduire et tout changement du
template est immédiatemenbt appliqué aux pages.
> Avec .NET2, tu as ce que l'on appelle les "Master-Page". Ca te permet de définir des templates et de faire dériver chaque page ASPX d'un template donné. Le HTML commun n'est donc pas à reproduire et tout changement du template est immédiatemenbt appliqué aux pages.
.......
Que cela est mignon. J'aime beaucoup !
Merci encore.
Rgds.
SL
slambert
> ASP.NET est 100% orienté objet à la base, et 99% est programmable,
Oui, merci...
Rgds,
SL
> ASP.NET est 100% orienté objet à la base, et 99% est programmable,