| auteur : Didier Danse |
Il y a plusieurs manières de définir la Master Page à utiliser. Une des techniques est de la définir dans le Page_PreInit:
Me. MasterPageFile = " mpPath\mpFile.master "
|
Ainsi, cette valeur "surchargera" celle définie dans l'entête de la page web.
|
| auteur : Didier Danse |
Prenons un exemple concret pour illustrer cette réponse. Ainsi, imaginons que l'on utilise deux User Controls dans une WebPartZone:
< asp : WebPartZone ID = " wpzGauche " runat = " server " BorderColor = " # CCCCCC " Font - Names = " Verdana " Padding = " 6 " Width = " 100 % " >
< ZoneTemplate >
< uc1 : searchResults ID = " SearchResults1 " runat = " server " / >
< uc1 : searchCriterias ID = " SearchCriterias1 " runat = " server " / >
< / ZoneTemplate >
< / asp : WebPartZone >
|
Ensuite, il suffit d'ajouter un WebPartManager et de définir une connexion statique. Cette connexion prendra comme paramètres les ID du U.C. producteur et celui du consommateur. Ainsi, lors de l'envoi d'une information par le producteur, le consommateur est averti et peut utiliser cette même information.
< asp : WebPartManager ID = " WebPartManager1 " runat = " server " >
< StaticConnections >
< asp : WebPartConnection ID = " connectionSearch "
ConsumerID = " SearchResults1 "
ProviderID = " SearchCriterias1 " / >
< / StaticConnections >
< / asp : WebPartManager >
|
|
| auteur : Ronald Vasseur |
Vous pouvez bien évidemment définir « en dur » le thème d'une page ASP.Net 2.0, mais il est possible et très utile de faire cela dynamiquement depuis votre code. Le thème est déterminé lors de l'évènement PreInit de la page, qui est en fait le tout premier évènement de la page. Il faut donc signaler lors de cet évènement le thème à utiliser, voici le code nécessaire à cette action :
Protected Sub Page_PreInit (sender as Object, e as EventArgs)
Page. Theme = Page. Request (" monTheme " )
End Sub
|
Vous voyez que le code est très simple, il suffit de passer le nom du thème désiré à la propriété Theme de votre page, ici nous le récupérons (grâce à Page.Request()) dans l'URL de la page où il a été passé en paramètre.
|
| auteur : Didier Danse |
Peut être avez-vous essayé d'ajouter de tels contrôles dans un site qui n'est pas configuré pour. Vérifiez le fichier web.config. Si vous ne trouvez pas de
trace de l'ajout d'une assembly System.Web.Extensions, , il faudra configurer le web.config en conséquences.
Par ailleurs, vérifier les versions des composants. Effectivement, si vous utilisez ASP.NET 2.0, vous devez avoir les composants pour ASP.NET 2.0 et non ceux pour ASP.NET 3.5.
|
| auteur : Didier Danse | Vous pouvez placer votre ScriptManager à n'importe quel niveau, cependant afin de vous faciliter le tout, placez le dans la Master Page.
Dès lors, si vous désirez modifier le comportement de votre ScriptManager pour une page (ContentPage) particulière, vous pouvez utiliser le ScriptManagerProxy.
Notez également que vous avez la possibilité de mettre le ScriptManager dans chacune des Content Pages.
|
| auteur : Didier Danse | Bien que Visual Studio 2005 ne le permette pas en mode design, l'imbrication de Master Page est prévue dans le framework.
Effectivement, l'élément permettant de définir quelle est la master page est MasterPageFile="~/masterpage.master" dans la directive "Page".
Cela donnera donc :
< %@ Page Language= " C# " MasterPageFile= " ~/masterpage.master " AutoEventWireup= " true "
CodeFile= " default.aspx.cs " Inherits= " _default " Title= " Untitled Page " %>
|
Dès lors, il ne vous reste plus qu'à définir cette propriété au sein de votre master page et vous voilà avec des master pages imbriquées, très utiles pour faciliter la mise en page dans vos applications.
|
| auteur : Didier Danse | Le Panel possède différentes propriétés de mise en forme qui n'existent pas dans le PlaceHolder. Dès lors, si vous souhaitez mettre en forme votre Panel, préférez-le au PlaceHolder. A l'inverse, si vous devez uniquement placer des éléments dans une zone, utilisez le PlaceHolder qui est légèrement plus rapide (de l'ordre du millième de seconde).
|
| auteur : Didier Danse | Dans vos pages, vous avez accès à une propriété nommée Master. Celle-ci comporte, comme pour toutes les pages, une méthode FindControl à laquelle vous pouvez passer le nom du contrôle. Il ne vous reste plus qu'à le caster (sans quoi vous récupérerez un object). Il ne vous reste plus qu'à le modifier.
Dim la As Label
la = CType (Master. FindControl (" laDansMasterPage " ), Label)
la. Text = " un titre par exemple "
|
|
| auteur : Didier Danse | ASP.NET permet de configurer pas mal d'éléments directement dans le web.config. C'est également le cas pour le thème. Pour le définir au niveau global de votre application, utilisez :
< system. web >
< pages theme= " theme " / >
< / system. web >
|
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2007
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|