2010-02-16 4 views

Répondre

4

Lors de l'attribution d'une page .aspx existante à une page maître tous les éléments de base d'une page Web réside maintenant avec la page principale comme la tête, body, title etc. Donc, si votre page utilise ces éléments à des fins telles que donner un titre à la page Web, en définissant javascripts dans le tag ... toutes ces opérations doivent maintenant être effectuées sur la page maître. Mais si vous devez affecter ces éléments aux valeurs respectives au niveau de la page enfant, vous devez définir un espace réservé au contenu dans l'en-tête de la page maître. Un autre espace de contenu doit être placé dans le corps de la page maître.

A la page d'enfant, vous aurez deux emplacements de contenu, un pour la tête et l'autre pour le corps. Après quoi, vous devrez mettre le code nécessaire dans les détenteurs de contenu respectifs.

+2

Au moins dans les derniers travaux ASP.NET, vous pouvez définir le titre de la page sur la page de contenu assez facilement avec 'this.Title =" something "' pour remplacer le titre de la page maître. De même, vous pouvez utiliser les appels 'ClientScript.RegisterClientScriptBlock' ou' ClientScript.RegisterStartupScript' dans la page de contenu pour ajouter javascript; Si vous utilisez des noms identiques pour des scripts identiques sur le contenu et le maître, même si vous faites les mêmes appels aux deux endroits, un seul est intégré dans la page de sortie résultante. – patridge

15

Ajouter ceci à votre page ASPX déclaration existante:

MasterPageFile="~/SomeMasterPage.Master" 

faut mentionner aussi que pour ajouter la page de contenu spécifique à votre page, vous devez également ajouter des balises de contenu (défini dans votre Master) à votre ASPX page également:

<asp:Content ID="myContent" ContentPlaceHolderID="someContent" runat="server"> 

     // Page Content goes here 

</asp:Content> 

Si vous ne les placez pas, le contenu par défaut de votre page principale est utilisé à la place.

+2

Et vous devriez aussi ajouter les balises ! – jmservera

2

Utilisation de la directive niveau de la page dans une page ASPX:

<%@ page language="C#" masterpagefile="~/Default.Master" codebehind="..." inherits="..." title="..." %> 
0

Toutes ces réponses sont excellentes, en particulier celles de HotTester! Je souhaite souligner les détails essentiels lors de la conversion d'une page aspx existante en une page de contenu: supprimer les balises html et head et leur contenu à l'exception de body tag - supprimer les balises body MAIN garder son contenu - supprimer l'étiquette de forme MAIS GARDER Contenu. Comme expliqué ici Convert ASPX pages to content pages?. Ensuite, placez ce contenu dans l'espace réservé au contenu du corps sur la page enfant. Si vous avez du contenu dans la balise principale qui doit rester dans la page de contenu et ne pas être placée dans la page maître, supprimez la balise principale mais CONSERVEZ son contenu et placez le contenu dans le conteneur de contenu de la page principale. marque.

Questions connexes