OVH Cloud OVH Cloud

acces au code html

7 réponses
Avatar
jean
comment avoir acces a tout le code html qui se trouve
entre les balise <html></html> d'une page aspx depuis le
page_load?

7 réponses

Avatar
Zazar
> comment avoir acces a tout le code html qui se trouve
entre les balise <html></html> d'une page aspx depuis le
page_load?



Une page ;aspx ne contient pas du code html mais du code asp.net. Vous
pouvez accéder à tous les objets créés par ce code en parcourant la
collection Controls de votre page. Est-ce que ça vous suffit ?

--
Zazar
Avatar
tres bien mais si je veux acceder a autre chose que des
controls? par exemple, si je veux acceder a une phrase
ecrite de facon brute sur la page html.

j'aimerais avoir quelque chose de similaire a une chaine
html qui contient tout le document. que je puisse faire un
instr()/indexof() de la phrase dans le document.

admettont que j'ecrive "coucou" dans une page vierge aspx.
comment puis je acceder a cette chaine via asp.net?




-----Message d'origine-----

comment avoir acces a tout le code html qui se trouve
entre les balise <html></html> d'une page aspx depuis le
page_load?



Une page ;aspx ne contient pas du code html mais du code


asp.net. Vous
pouvez accéder à tous les objets créés par ce code en


parcourant la
collection Controls de votre page. Est-ce que ça vous


suffit ?

--
Zazar


.



Avatar
Zazar
> tres bien mais si je veux acceder a autre chose que des
controls? par exemple, si je veux acceder a une phrase
ecrite de facon brute sur la page html.



Cette phrase sera incluse dans un contrôle literal.

j'aimerais avoir quelque chose de similaire a une chaine
html qui contient tout le document. que je puisse faire un
instr()/indexof() de la phrase dans le document.



La chaîne qui contient tout le document, vous ne pouvez l'avoir qu'en la
générant explicitement en appelant la méthode Render de la page. Et elle ne
réfletera que l'état du document au moment de la génération, elle pourra
changer avant la génération du rendu qui sera envoyé au client.

admettont que j'ecrive "coucou" dans une page vierge aspx.
comment puis je acceder a cette chaine via asp.net?



Seulement en la recherchant parmi les contrôles Literal de la page. Mais la
bonne manière de faire serait peut-être de placer des Literal sur la page
(statiquement ou dynamiquement) et d'affecter à ces Literal les chaînes que
vous voulez. Mais bon ça dépend de ce que vous voulez faire exactement.
Pouvez-vous décrire le but recherché (si possible à l'aide d'un exemple) et
pas les moyens que vous employiez pour y arriver ?

--
Zazar
Avatar
c'est tres simple, l'objectif est de pouvoir gerer des
pages personnalisees. admettont que j'ai 2 clients qui
veulent exploiter une application "magasin". il ne serait
pas decent que ces clients doivent apprendre asp.net,
avoir visual studio .net, etc pour personnaliser leurs
pages. de plus, la personnalisation doit etre simple.

partant de ce principe, je me suis dit qu'il serait mieux
que ces clients puissent se contenter d'un petit editeur
de page html sans avoir a connaitre le code html. dans ce
cas, il leur suffirait de creer une page html, de saisir
des mots cles en clair dedans. ces mots clefs indiquent a
l'application ce qu'elle doit faire. par exemple, si je
place un mot cle *categories* dans une page, l'application
remplace ce mot cle par un tableau contenant la liste des
categories.

c'est moins clair avec asp.net, avec asp/vb + dll activex,
je faisais ca sans probleme.

par exemple, j'avais un lien

http://localhost/monsite/menu.asp?link¬ceuil

dans menu.asp, il y avait juste une ligne de createobject
("une dll en vb") qui creeait une instance de DLL et lui
transmettait le contexte en cours: server, response,
request, etc. a partir de la, la DLL charge le
template "acceuil.html", analyse son contenu, remplace les
mots cles et renvoie le tout au client.

l'interet est que acceuil.html est completement
personnalisable et editable avec n'importe quel editeur
html. l'utilisateur peut placer ses images, etc, comment
il le sent et met les mots cles qui seront remplaces lors
du traitement.

ce que j'aimerais avec asp.net, c'est avoir cette meme
approche "dynamique" de la presentation de pages aux
visiteurs.

a priori, cela serait faisable si mon code asp.net
(maform.aspx.vb) pouvait acceder au contenu du fichier
html (maform.aspx)

le fait de devoir coder des litteraux dans directement
dans le code html (au lieu de le faire dans la
presentation) avec des outils comme frontpage ca me parait
un peu handicapant. surtout que j'aimerais beaucoups
pouvoir conserver cette "simplicite" que j'avais avec le
asp d'antan.





-----Message d'origine-----
tres bien mais si je veux acceder a autre chose que des
controls? par exemple, si je veux acceder a une phrase
ecrite de facon brute sur la page html.



Cette phrase sera incluse dans un contrôle literal.

j'aimerais avoir quelque chose de similaire a une chaine
html qui contient tout le document. que je puisse faire




un
instr()/indexof() de la phrase dans le document.



La chaîne qui contient tout le document, vous ne pouvez


l'avoir qu'en la
générant explicitement en appelant la méthode Render de


la page. Et elle ne
réfletera que l'état du document au moment de la


génération, elle pourra
changer avant la génération du rendu qui sera envoyé au


client.

admettont que j'ecrive "coucou" dans une page vierge




aspx.
comment puis je acceder a cette chaine via asp.net?



Seulement en la recherchant parmi les contrôles Literal


de la page. Mais la
bonne manière de faire serait peut-être de placer des


Literal sur la page
(statiquement ou dynamiquement) et d'affecter à ces


Literal les chaînes que
vous voulez. Mais bon ça dépend de ce que vous voulez


faire exactement.
Pouvez-vous décrire le but recherché (si possible à


l'aide d'un exemple) et
pas les moyens que vous employiez pour y arriver ?

--
Zazar


.



Avatar
j'ai trouve comment faire.
merci.



-----Message d'origine-----
c'est tres simple, l'objectif est de pouvoir gerer des
pages personnalisees. admettont que j'ai 2 clients qui
veulent exploiter une application "magasin". il ne serait
pas decent que ces clients doivent apprendre asp.net,
avoir visual studio .net, etc pour personnaliser leurs
pages. de plus, la personnalisation doit etre simple.

partant de ce principe, je me suis dit qu'il serait mieux
que ces clients puissent se contenter d'un petit editeur
de page html sans avoir a connaitre le code html. dans ce
cas, il leur suffirait de creer une page html, de saisir
des mots cles en clair dedans. ces mots clefs indiquent a
l'application ce qu'elle doit faire. par exemple, si je
place un mot cle *categories* dans une page,


l'application
remplace ce mot cle par un tableau contenant la liste des
categories.

c'est moins clair avec asp.net, avec asp/vb + dll


activex,
je faisais ca sans probleme.

par exemple, j'avais un lien

http://localhost/monsite/menu.asp?link¬ceuil

dans menu.asp, il y avait juste une ligne de createobject
("une dll en vb") qui creeait une instance de DLL et lui
transmettait le contexte en cours: server, response,
request, etc. a partir de la, la DLL charge le
template "acceuil.html", analyse son contenu, remplace


les
mots cles et renvoie le tout au client.

l'interet est que acceuil.html est completement
personnalisable et editable avec n'importe quel editeur
html. l'utilisateur peut placer ses images, etc, comment
il le sent et met les mots cles qui seront remplaces lors
du traitement.

ce que j'aimerais avec asp.net, c'est avoir cette meme
approche "dynamique" de la presentation de pages aux
visiteurs.

a priori, cela serait faisable si mon code asp.net
(maform.aspx.vb) pouvait acceder au contenu du fichier
html (maform.aspx)

le fait de devoir coder des litteraux dans directement
dans le code html (au lieu de le faire dans la
presentation) avec des outils comme frontpage ca me


parait
un peu handicapant. surtout que j'aimerais beaucoups
pouvoir conserver cette "simplicite" que j'avais avec le
asp d'antan.





-----Message d'origine-----
tres bien mais si je veux acceder a autre chose que des
controls? par exemple, si je veux acceder a une phrase
ecrite de facon brute sur la page html.



Cette phrase sera incluse dans un contrôle literal.

j'aimerais avoir quelque chose de similaire a une






chaine
html qui contient tout le document. que je puisse






faire
un
instr()/indexof() de la phrase dans le document.



La chaîne qui contient tout le document, vous ne pouvez


l'avoir qu'en la
générant explicitement en appelant la méthode Render de


la page. Et elle ne
réfletera que l'état du document au moment de la


génération, elle pourra
changer avant la génération du rendu qui sera envoyé au


client.

admettont que j'ecrive "coucou" dans une page vierge




aspx.
comment puis je acceder a cette chaine via asp.net?



Seulement en la recherchant parmi les contrôles Literal


de la page. Mais la
bonne manière de faire serait peut-être de placer des


Literal sur la page
(statiquement ou dynamiquement) et d'affecter à ces


Literal les chaînes que
vous voulez. Mais bon ça dépend de ce que vous voulez


faire exactement.
Pouvez-vous décrire le but recherché (si possible à


l'aide d'un exemple) et
pas les moyens que vous employiez pour y arriver ?

--
Zazar


.



.



Avatar
Zazar
Bonjour,

c'est tres simple, l'objectif est de pouvoir gerer des
pages personnalisees. admettont que j'ai 2 clients qui
veulent exploiter une application "magasin". il ne serait
pas decent que ces clients doivent apprendre asp.net,
avoir visual studio .net, etc pour personnaliser leurs
pages. de plus, la personnalisation doit etre simple.




partant de ce principe, je me suis dit qu'il serait mieux
que ces clients puissent se contenter d'un petit editeur
de page html sans avoir a connaitre le code html. dans ce
cas, il leur suffirait de creer une page html, de saisir
des mots cles en clair dedans. ces mots clefs indiquent a
l'application ce qu'elle doit faire. par exemple, si je
place un mot cle *categories* dans une page, l'application
remplace ce mot cle par un tableau contenant la liste des
categories.

c'est moins clair avec asp.net, avec asp/vb + dll activex,
je faisais ca sans probleme.

par exemple, j'avais un lien

http://localhost/monsite/menu.asp?link¬ceuil

dans menu.asp, il y avait juste une ligne de createobject
("une dll en vb") qui creeait une instance de DLL et lui
transmettait le contexte en cours: server, response,
request, etc. a partir de la, la DLL charge le
template "acceuil.html", analyse son contenu, remplace les
mots cles et renvoie le tout au client.

l'interet est que acceuil.html est completement
personnalisable et editable avec n'importe quel editeur
html. l'utilisateur peut placer ses images, etc, comment
il le sent et met les mots cles qui seront remplaces lors
du traitement.

ce que j'aimerais avec asp.net, c'est avoir cette meme
approche "dynamique" de la presentation de pages aux
visiteurs.

a priori, cela serait faisable si mon code asp.net
(maform.aspx.vb) pouvait acceder au contenu du fichier
html (maform.aspx)

le fait de devoir coder des litteraux dans directement
dans le code html (au lieu de le faire dans la
presentation) avec des outils comme frontpage ca me parait
un peu handicapant. surtout que j'aimerais beaucoups
pouvoir conserver cette "simplicite" que j'avais avec le
asp d'antan.



Ok, je comprend mieux votre problèmatique. Vous pouvez faire pareil en
asp.net, mais il n'y a aucune raison pour que le fichier html sur lequel
vous travaillez soit le même que le fichier .aspx de la webform. Quand vous
travaillez en asp classique, votre page menu.asp était différente de la page
accueil.html, là vous pouvez faire pareil. Vous utilisez une page menu.aspx
qui au lieu d'invoquer un activex pourra faire tout le travail elle même.
Pour information : quelle est la solution que vous avez adoptée ?

--
Zazar
Avatar
Zazar
Une approche plus orientée .NET :
Vous créez une bibliothèques de contrôles : un contrôle pour afficher les
catégories, un contrôle pour afficher une autre source (ou alors un seul
contrôle possédant une propriété listant les différents tableaux possibles :
à vous de voir ce qui sera le plus simple pour vos usagers).
Et ensuite, les personnes n'auront plus qu'à placer ces contrôles sur leurs
pages aspx. Par contre, il leur faut un éditeur capable de gérer le .NET,
est-ce le cas ?

--
Zazar