2010-08-09 7 views
0

i ont une page principale avec trois sections, panneau de gauche + 2 panneaux de droite (une en-tête supérieure et une zone de l'écran principal)pages maîtres ASP.NET, les pages de contenu

je veux avoir la zone principale de l'écran remplir dynamiquement une URL basée sur un lien, cliquez sur dans le volet supérieur. Donc dans l'en-tête si j'ai trois liens - supposons que j'ai trois pages (one.aspx, two.aspx, three.aspx) et je veux cliquer sur un, un, deux, trois lien dans le panneau d'en-tête de la master et charger le contenu dans la zone principale de chaque page enfant associée dans les zones principales.

une idée?

+0

Ça sent comme une solution basée sur un cadre, mais de façon réaliste, vous pouvez utiliser AJAX pour faire des choses comme ça. – Kezzer

+0

Pensez-vous dans des cadres démodés? Pensez à MasterPages comme inclut. Vous pouvez ainsi créer un lien direct vers vos pages et non vers une page dans un cadre. – Jeroen

+0

Parlez-vous d'une sorte de construction AJAX? Le comportement que vous décrivez ressemble à un comportement de page maître simple où chacun de one/two/three.aspx incorpore votre page maître et dispose d'un contrôle de contenu qui dirige vers votre zone de contenu principale. –

Répondre

3

Le point des pages maîtres ASP .NET est de faire exactement ce que vous voulez sans avoir besoin de remplir les zones de la page.

Ce que je suggère de faire est de déplacer le contenu qui ne change pas par page (par exemple le volet gauche et l'en-tête supérieur/volet droit) dans la page maître. et créez un espace réservé au contenu pour votre écran principal. Créez ensuite vos pages one.aspx, two.aspx, three.aspx et demandez-leur d'utiliser votre nouvelle page maquette. Maintenant, lorsque vous modifiez les pages, la seule zone que vous modifierez sera le contenu de la zone d'écran principale.

Toutes les modifications que vous apportez à la page maître seront immédiatement répercutées sur les trois pages sans avoir à les mettre à jour.

Si vous avez un objectif différent en tête s'il vous plaît faites le moi savoir. Je ferai ce que je peux pour aider.

0

Je ne suis pas sûr de suivre complètement votre intention, mais si je l'obtiens, il me semble que ce que vous voulez est un cadre flottant.

2

Lorsque vous avez créé vos pages, vous devez avoir sélectionné la page MasterPage. Sur chaque page, vous remplissez les zones de contenu de votre MasterPage. Par conséquent, si vous souhaitez créer un lien vers vos pages, vous pouvez placer les liens dans chaque Head ContentPlaceHolder de chaque page. Donc vous liez directement 'one.aspx', 'two.aspx' et 'three.aspx'.

Chaque page chargera son contenu MasterPage quand il est demandé. Donc cela fonctionne comme ne comprend pas les cadres (oubliez les cadres).

1

Créez simplement votre page maître avec vos divs de mise en page et utilisez la pour laisser un espace réservé dans votre onglet de contenu. Ensuite, créez une nouvelle page qui utilise votre page maître comme base et à l'intérieur de la balise générée automatiquement, mettez votre contenu spécifique pour cette page.

Créez une nouvelle page héritant de la page maître pour chaque page de contenu vers laquelle vous souhaitez que les liens d'en-tête pointent.

Hey presto pas besoin de cadres ou de script.

Questions connexes