|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Pseudo frame en ASPX [ Archives ASP & ASP.NET / ASP.net ] (Mike)
Informations & options pour cette discussion
vendredi 23 juillet 2004 à 20:37:45 |
Pseudo frame en ASPX

Mike
|
Bonjour, j'ai fait beaucoup de php, et je cherche maintenant la meilleur solution pour utiliser les pseudos frames en ASPx. On m'as conseillé d'utiliser Server.execute() mais n'y a t'il pas de meilleur moyen plus efficace pour remplacer l'include() de php ? merci d'avance
|
|
|
vendredi 23 juillet 2004 à 21:31:22 |
Re : Pseudo frame en ASPX

jesusonline
|
bien sur que si qu'il existe une maniere plus simple que de faire server.Execute :) il faut faire User control. qu'est-ce qu'un UC ? c'est un petit fichier ascx qui contient du HTML comme un fichier aspx, la seule difference c'est la directive, on met control au lieu de page, etsi tu fais du Code-Behind, ta classe derivera pas de page, mais de USerControl (qui je crois derive de Page) Le principe des UC, c'est simple, ca se comporte commes des controles, telles que les boutons, ou les calendars, mais en un peu plus complexe. tu peux en rajouter autant que tu veux, l'ancien nom des UC étaient "pagelet", c'est donc des petites pages, completement autonome (ou presque) que tu inseres dans la page c'est un peu le meme principe que des includes, car tu met dans ton ascx du code aspx et tu met ton ascx dans du ascx, mais c'est bcp plus puissant, tu peux passer des paramétres à partir de la page etc... c'est une solution tres puissante. donc voila apres cette rapide description j'espere que tu en sauras un peu plus sur les UC,et j'espere que ca t'auras aidé  pour des exemples d'UC, il y en a sur le site et sur le forum, et c'est assez simple donc j'en dit pas plus :) @+ Cyril
|
|
|
vendredi 23 juillet 2004 à 22:06:32 |
Re : Pseudo frame en ASPX

Mike
|
Donc si je comprend bien ... sur chaque page de mon site il faut que j'integre ce composant ??? ça parait un peu barbare quand même.
Par exemple comment ça marche ici ?? il y'a des menus latteraux , un header et pourtant la structure d'un lien est diretement lié à une page aspx ( sans parametre ) :
http://www.aspfr.com/rfc.aspx http://www.aspfr.com/livrescritiques.aspx http://www.aspfr.com/livresbestofvente.aspx
Et ça m'etonnerai qu'il réecrive sur chaque page le header et les 2 menus latteraux.
merci de ton aide ;-)
|
|
|
vendredi 23 juillet 2004 à 22:37:57 |
Re : Pseudo frame en ASPX
|
vendredi 23 juillet 2004 à 23:40:33 |
Re : Pseudo frame en ASPX

Mike
|
en fait le problème c'est pas de créer le composant en lui même. mais comment lui transmettre les parametres de la page envoyé, par exemple avec une URL de ce style :
http://www.aspfr.com/listecodes.aspx?catid=43
Donc si je te suis bien, avec l'exemple, on arrive sur listescodes.aspx. La, le UC englobe donc tt les menus les latteraux, et le header. Si on suit le raisonnement. Il faut donc envoyer en parametre au UC la page elle même à afficher aux centre ( ) et catid ( soit 43 ).
Ensuite dans le UC on retrouve dans le tableau HTML principale un "Server.execute()" qui charge listecodes.aspx.
Ca me parait bien barbare tout ça .... d'autant plus qu'il peut y'a avoir plus de 2 parametres dans la requetes comment les envoyer à l'UC, il faudrai créer un tableau ?
|
|
|
vendredi 23 juillet 2004 à 23:51:43 |
Re : Pseudo frame en ASPX
|
samedi 24 juillet 2004 à 01:31:58 |
Re : Pseudo frame en ASPX

Mike
|
Salut jesus online ... Encore un grand merci pour ton aide et ta patience lol, j'ai pas mal l'habitude en fait, je suis le webmaster du site www.moteurprog.com dont www.forum.moteurprog.com. D'ailleurs, si tu souhaite venir nous donner un coup de main ... y'a des postes de modérateur à pourvoir ;-) notamment niveau Dotnet. Sinon pour le sujet qui me préocuppe, j'ai bien compris pour parametrer le UC, mais tj pas pour integrer la page centrale. Par exemple un menu latterale, tu est obliger de créer un tableau HTML de ce type et ça pose un problème avec l'utilisaton d'un UC qui serai utilile pour un header uniquement mais pas dans ce cas pour un menu latterale : <table border="1" bordercolor="#111111" width="235" height="74"> <tr> <td width="29" height="74" rowspan="2">Menu</td> <td width="200" height="17">header</td> </tr> <tr> <td width="200" height="53"> <p align="center">page centrale</td> </tr> </table>
|
Donc la partie variable ici, c'est "page centrale" et il faut donc pouvoir parametrer cette partie. Donc dans ce cas comment faire efficacement pour faire varier le contenu de cette cellule ? Je pense que cet exemple illustre bien mon problème. En fait j'essai de me rattacher au php ( que je connais bien ), mais c'est p'être pas une bonne solus, et j'ai absolument besoin de passé à l'ASPnet pour mon taff, j'essai donc de connaitre les technique ASP que j'applique au php. encore merci
|
|
|
samedi 24 juillet 2004 à 11:29:27 |
Re : Pseudo frame en ASPX

jesusonline
|
je connais pas du tout php donc je sais pas s'il existe des points communs, mais je pense que php ressemble beaucoup à asp, par contre asp.net et totalement different, et beaucoup plus puissant. Je te montre un exemple d'UC ca te semblera peut etre un peu plus clair j'ai une page contacts.aspx : <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Contacts.aspx.vb" Inherits="BeaujolaisDurand.Contacts"%> <%@ Register TagPrefix="uc1" TagName="Menu" Src="Menu.ascx" %> <%@ Register TagPrefix="cpspam" Namespace="CP.WebControls" Assembly="CP.WebControls.NoSpamEmailHyperlink" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <form id="Form1" method="post" runat="server"> <div class="Milieu" id="Milieu_Contacts"> <ul class="Adresse"> <li>DURAND Agnes et Marcel</li> <li>" Les Trions "</li> <li>69220 Lancié</li> </ul> Si une étape aux Trions au coeur du Beaujolais vous tente merci de nous joindre par :
<ul> <li>Téléphone : 33 (0)4.74.69.81.32</li> <li>Portable : 33 (0)6.82.44.19.33</li> <li>Fax : 33 (0)4.74.69.86.70</li> <li>E-mail : <cpspam:nospamemailhyperlink id="NoSpamEmailHyperlink1" runat="server" email="Durand@BeaujolaisDurand.com?subject=Demande de renseignements.">Durand@BeaujolaisDurand.com</cpspam:nospamemailhyperlink></li> <li>Web : <a href="http://www.beaujolaisdurand.com">www.BeaujolaisDurand.com</a></li> </ul> </div>
<uc1:menu id="Menu1" runat="server" category="5" /> </form> </body> </html>
|
Dans chaque page de mon site, j'aurais la meme structure : <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Contacts.aspx.vb" Inherits="BeaujolaisDurand.Contacts"%> <%@ Register TagPrefix="uc1" TagName="Menu" Src="Menu.ascx" %> <%@ Register TagPrefix="cpspam" Namespace="CP.WebControls" Assembly="CP.WebControls.NoSpamEmailHyperlink" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <form id="Form1" method="post" runat="server"> Le texte de la page ici
<uc1:menu id="Menu1" runat="server" category="5" /> </form> </body> </html>
|
ensuite dans menu.ascx j'ai : <%@ Control Language="vb" AutoEventWireup="false" Codebehind="Menu.ascx.vb" Inherits="BeaujolaisDurand.Menu" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %> <div id="Entete"> <div id="Langue"> <ul> <li><a href="#">English</a></li> <li id="currentLanguage"><a href="#">Francais</a></li> </ul> </div> <div id="Banniere">
</div> <div id="header"> <ul id="MenuHorizontal" runat="server"> <li><a href="default.aspx">Accueil</a></li> <li><a href="chambres.aspx">Chambres d'Hotes</a></li> <li><a href="vins.aspx">Vins</a></li> <li><a href="phototeque.aspx">Phototèque</a></li> <li><a href="contacts.aspx">Contacts</a></li> </ul> </div> </div> <dl id="Menu_Gauche" class="Menu"> <dt> <span>Accueil</span> </dt> <dd> <ul> <li><a href="Default.aspx">Accueil</a></li> <!--<li><a href="#">Descriptif du domaine</a></li>--> <li><a href="Plan.aspx">Plan d'accès</a></li> </ul> </dd> <dt> <span>Chambres d'hôtes</span> </dt> <dd> <ul> <li><a href="chambres.aspx">Descriptif des chambres</a></li> <!--<li><a href="#">visite virtuelle</a></li>--> <li><a href="TarifsChambres.aspx">Tarifs</a></li> </ul> </dd> <dt> <span>Vins</span> </dt> <dd> <ul> <li><a href="Vignoble.aspx">Vignoble</a></li> <li><a href="propriete.aspx">Propriété</a></li> <li><a href="vins.aspx">Nos differents vins</a></li> </ul> </dd> <dt> <span>Autres</span> </dt> <dd> <ul> <li><a href="contacts.aspx">Contacts</a></li> <li><a href="Phototeque.aspx">Phototèque</a></li> </ul> </dd> </dl>
|
et dans menu.ascx.vb j'ai le code suivant : Imports System.Xml Imports System.IO
Public Class Menu Inherits System.Web.UI.UserControl
#Region "protected Withevents" Protected WithEvents ImageAleatoire As System.Web.UI.WebControls.AdRotator Protected WithEvents LblDescriptionImageAleatoire As System.Web.UI.WebControls.Literal Protected WithEvents MenuHorizontal As System.Web.UI.HtmlControls.HtmlGenericControl Protected WithEvents ImageAleatoiredt As System.Web.UI.HtmlControls.HtmlGenericControl Protected WithEvents ImageAleatoiredd As System.Web.UI.HtmlControls.HtmlGenericControl #End Region
#Region "MenuHorizontal" Private _Category As Integer Public Property Category() As Integer Get Return _Category End Get Set(ByVal Value As Integer) _Category = Value End Set End Property
Private Sub MenuHorizontal_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuHorizontal.Load Dim doc As New XmlDocument doc.LoadXml("<ul>" & MenuHorizontal.InnerText & "</ul>")
Dim mNodeList As XmlNodeList = doc.SelectNodes("//li")
Dim i As Integer For Each mNode As XmlNode In mNodeList If (i + 1) = _Category Then Dim mAttrib As XmlAttribute = doc.CreateAttribute("id") mNode.Attributes.Append(mAttrib).Value = "current" Exit For End If i += 1 Next
MenuHorizontal.InnerHtml = Replace(Replace(doc.InnerXml, "<ul>", ""), "</ul>", "")
End Sub
#End Region
End Class
|
et qd j'appelle contacts.aspx avec IE ca me donne
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>
</head> <body> <form name="Form1" method="post" action="Contacts.aspx" id="Form1"> <input type="hidden" name="__VIEWSTATE" value="dDw0Nzc2MTcxMjE7dDw7bDxpPDE+Oz47bDx0PDtsPGk8Mz47PjtsPHQ8O2w8aTwxPjtpPDU+Oz47bDx0PHA8bDxpbm5lcmh0bWw7PjtsPFw8bGlcPlw8YSBocmVmPSJkZWZhdWx0LmFzcHgiXD5BY2N1ZWlsXDwvYVw+XDwvbGlcPlw8bGlcPlw8YSBocmVmPSJjaGFtYnJlcy5hc3B4Ilw+Q2hhbWJyZXMgZCdIb3Rlc1w8L2FcPlw8L2xpXD5cPGxpXD5cPGEgaHJlZj0idmlucy5hc3B4Ilw+Vmluc1w8L2FcPlw8L2xpXD5cPGxpXD5cPGEgaHJlZj0icGhvdG90ZXF1ZS5hc3B4Ilw+UGhvdG90w6hxdWVcPC9hXD5cPC9saVw+XDxsaSBpZD0iY3VycmVudCJcPlw8YSBocmVmPSJjb250YWN0cy5hc3B4Ilw+Q29udGFjdHNcPC9hXD5cPC9saVw+Oz4+Ozs+O3Q8O2w8aTwxPjtpPDM+Oz47bDx0PHA8cDxsPFdpZHRoO18hU0I7PjtsPDE8MTIwcHg+O2k8MjU2Pjs+Pjs+Ozs+O3Q8cDxsPFRleHQ7PjtsPEFwZXJjdSBkZSBsYSB2dWUgZGVwdWlzIGxlcyBjaGFtYnJlcyBkJ2hvdGVzIHVuIHNvaXIgZCdvcmFnZSBlbiBhdXRvbW5lOz4+Ozs+Oz4+Oz4+Oz4+Oz4+Oz6FgjNOmkWhoAin9iKeOh1B0lqK0w==" />
<div class="Milieu" id="Milieu_Contacts"> <ul class="Adresse"> <li>DURAND Agnes et Marcel</li> <li>" Les Trions "</li> <li>69220 Lancié</li> </ul> Si une étape aux Trions au coeur du Beaujolais vous tente merci de nous joindre par :
<ul> <li>Téléphone : 33 (0)4.74.69.81.32</li> <li>Portable : 33 (0)6.82.44.19.33</li> <li>Fax : 33 (0)4.74.69.86.70</li> <li>E-mail : <a href="mailto:paNdkL@UM1jL7dDmorVREG6.com?subject=Demande de renseignements." id="NoSpamEmailHyperlink1">Durand@BeaujolaisDurand.com</a></li> <li>Web : <a href="http://www.beaujolaisdurand.com">www.BeaujolaisDurand.com</a></li> </ul> </div> <div id="Entete"> <div id="Langue"> <ul> <li><a href="#">English</a></li> <li id="currentLanguage"><a href="#">Francais</a></li> </ul> </div> <div id="Banniere">
</div> <div id="header"> <ul id="Menu1_MenuHorizontal"><li><a href="default.aspx">Accueil</a></li><li><a href="chambres.aspx">Chambres d'Hotes</a></li><li><a href="vins.aspx">Vins</a></li><li><a href="phototeque.aspx">Phototèque</a></li><li id="current"><a href="contacts.aspx">Contacts</a></li></ul> </div> </div> <dl id="Menu_Gauche" class="Menu"> <dt> <span>Accueil</span> </dt> <dd> <ul> <li><a href="Default.aspx">Accueil</a></li> <!--<li><a href="#">Descriptif du domaine</a></li>--> <li><a href="Plan.aspx">Plan d'accès</a></li> </ul> </dd> <dt> <span>Chambres d'hôtes</span> </dt> <dd> <ul> <li><a href="chambres.aspx">Descriptif des chambres</a></li> <!--<li><a href="#">visite virtuelle</a></li>--> <li><a href="TarifsChambres.aspx">Tarifs</a></li> </ul> </dd> <dt> <span>Vins</span> </dt> <dd> <ul> <li><a href="Vignoble.aspx">Vignoble</a></li> <li><a href="propriete.aspx">Propriété</a></li> <li><a href="vins.aspx">Nos differents vins</a></li> </ul> </dd> <dt> <span>Autres</span> </dt> <dd> <ul> <li><a href="contacts.aspx">Contacts</a></li> <li><a href="Phototeque.aspx">Phototèque</a></li> </ul> </dd> </dl> </form> </body> </html>
|
ne t'occupe pas du truc pour l'email car dans ce UC j'ai mis un controle pour encoder mon email et eviter le spam Bon l'exemple que je t'ai donné est un exemple d'UC que j'ai fait pour moi, et il est un peu complexe, car j'utilise plusieurs choses, mais j'espere que ca t'auras permis de voir un peu mieux la chose :) Si tu debutes, je vais faire comme pour tout les débutants que je croisent :) je vais te conseiller un bouquin pas cher mais excellent, et qui m'as appris beaucoup de chose, formation à .... asp.net editions Microsoft : auteur : Richard clark ---> www.c2i.fr @+ Cyril
|
|
|
samedi 24 juillet 2004 à 12:02:09 |
Re : Pseudo frame en ASPX

Mike
|
ok, merci beaucoup pour l'exemple, mais en fait c'est bien ce que je pensais, il n'y a pas vraiment de solution !!
Bah je t'avoue que je trouve ce systeme vraiment barbare, car si je me replace dans mon cas, avec un menu horizontale en haut et un menu verticale à gauche. Ca veut dire qu'il faut que pour chaque page du site, je réecrive le tableau HTML entier et que j'integre 2 UC dedans, l'un pour le menu latterale, l'autre pour le menu horizontale. Autant dire que si je fais une modif fondamentale sur le site, je n'est plus qu'a retravailler toutes les pages.
En fait l'exemple que tu me montre marche parfaitement pour une structure descendante. Header puis contenu. Mais essai de rajouter un menu latterale à gauche, et la, ça se complexifie un peu plus car tu est obliger sur chaque page de réecrire le tableau HTML de la structure.
Encore merci pour ton aide.
|
|
|
samedi 24 juillet 2004 à 12:39:49 |
Re : Pseudo frame en ASPX

jesusonline
|
J'ai pas vraiment compris ce que tu veux, mais tu peux tres bien integrer des UC dans des UC.
Peut etre que ce que tu veux ce serait un truc de ce style :
<uc1:page id="page1" runat="server"> Le texte de la page </uc1:page>
Comme ca si tu as une modif à faire dans la structure du site, tu peux la faire en modifiant le controle page.ascx ?
oui ce que tu veux est possible mais c'est extremement compliqué.
La solution consiste à deriver la classe page, de creer des WebControls (que du .vb pas d'ascx) de les incorporer dans ta nouvelle classe page etc... c'est extrement compliqué, et souvent tres peu rentable car generalament ca ne sert pas à grand chose, la deuxieme solution est de faire deux UC <uc1:debut ... /> Texte <uc1:fin ../>
tu n'as plus que deux fichiers à gerer, il existe encore une autre solution, c'est celle que je t'ai montré en exemple c'est de faire une page en CSS c'est à dire sans tableau, donc tu auras un div consacré au texte de la page, et un autre div commun a toutes les pages du site
et enfin la derniere solution, qui correpond le plus a tes attentes, c'est les master page, mais c'est disponible seulement pour asp.net 2.0 qui est pour l'instant en beta, mais tu peux deja telecharger windev studio express qui te permettra de faire ce que tuveux
@+
Cyril
|
|
|
Cette discussion est classé dans : php, frame, aspx, pseudo, meilleur
Répondre à ce message
Sujets en rapport avec ce message
Comment faire un "pseudo-frame" en ASP ? [ par Mgiv64 ]
Bonjour,C'est peut-etre un question completement débile, mais...En Php c'est courament utilisé, et le simple fait de taper "pseudo frame php" dans goo
Authentification et Frame [ par emericg ]
J'ai un petit soucis avec le systeme d'authentification de ASP.NET.j'ai utilisé cette fonction dans le Web.config :<credentials
Frame et recharger un fichier aspx [ par coulis ]
Bonjour à tous,Voila j'ai une page avec des frames controlées depuis le code Behind (en VB) Dans la frame1 j'ai un fichier "fich1.aspx" comprenant un
ASPX VS PHP [ par Beurgleu ]
Bonsoir tout le monde,Je savais pas trop où poster cela, alors je vous le soumets ici.J'ai une application extranet à développer/faire développer. Il
Variable de session + Frame = Rien ne vas plus !!! [ par gwadaman2 ]
Bonjour,J'ai un problémes trés bisare sur mon dévelopement en ASP .NetJ'ai un jeu de frame, composé de trois frames: Un bandeau en hautUne arborescenc
Faire des pseudo frame en incluant des fichier HTML [ par EvilDef ]
Bonjour a tous,voici mon probleme, j'aimerai savoir comment, en divisant ma fenetre en 2 partie,ou la premiere est un menu codé directement dans la pa
Passage de parametre entre 1 frame [ par angel2610 ]
Salut Voila je passe une parametre en appelant ma nouvelle frame mais je ne sias pas comment la recuper merci d'avance. Response.Redirect("~/Commande.
PSEUDO COMPILATEUR ASP3.0 [ par AC1 ]
Bonjour,J'ai un trou de mémoire sur le nom du pseudo compilateur ASP 3.0Quelqu'un s'en souvient-il ?Merci AC1Databases on the Web & on the LAN
aucune idée de comment réaliser ce projet [ par bdinfo ]
Bonjour j'ai un petit probleme à résoudre et j'espere bien que qqn ici va pouvoir m'aider. Je vous explique ce que je dois faire :Premierement j'ai un
ça se passe comment chez FREE [ par ManuAntibes ]
Salut j'ai fais mon site en php , et j'ai des pages ne ASP a ajouter. Comment faire pour les mettres dans le meme dossier. et que je puisse ouvrir les
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|