Thomas Bandt

Über mich | Kontakt | Archiv

ASP.NET 3.5 - Verschachtelte Masterpages

Eine der Neuerungen, die mit Version 3.5 von ASP.NET Einzug gehalten haben, ist die Möglichkeit Masterpages zu verschachteln. Zugegeben - ein Feature, was ich bis dato nicht vermisst habe, welches sich aber beim näheren Hinsehen als nützlich erweisen könnte.

Das Vorgehen gleicht dem bekannten Schema - man weist einem WebForm (*.aspx) eine Masterpage zu. Neu ist, dass man auch einer Masterpage eine Masterpage zuweisen kann.

Mögliche Vorteile: Damit lassen sich Raster und Layoutvorgaben noch weiter hinunterbrechen und individualisieren. Die Nutzer unseres Content Management Systems haben zum Beispiel die Möglichkeit kategorie-, also seitenbezogen Templates zu wählen, was innerhalb mit Masterpages realisiert wird. Nun kommt es bei größeren Projekten vor, dass durchaus verschiedene Templates verfügbar sind, die sich eigentlich doch in großen Teilen sehr ähneln - die Navigation ist z.B. einheitlich in jedem Template verfügbar.

Bis jetzt musste man nun Code wohl oder übel mehrfach vorhalten oder wiederum in UserControls auslagern, aber selbst da erfolgte dann wenigstens die Deklaration mehrfach.

Durch die Möglichkeit Masterpages zu verschachteln könnte man nun das grobe Raster einer Seite fest vorgeben, darin etwa auch die Navigation platzieren, und den Benutzer nur noch die Masterpages der zweiten Ebene, die sich dann inhatlich etwa in der Darstellung unterscheiden, wählen lassen.

Fazit: kleiner Aufwand, möglicherweise großer Effekt. Wenn auch im Alltag wohl häufig eher zu vernachlässigen und erst bei größeren Projekten interessant.

Im Anhang findet sich eine kleine Demonstration, wie so etwas aussieht - wie man sieht, ist es kein großes Hexenwerk.

Downloads

Kommentare

  1. Peter schrieb am Sonntag, 16. November 2014 12:34:00 Uhr:

    Danke für die einfache und klare Erklärung des Problems.
    Was ich gerne wissen möchte ist, ob bei mehrfach vererbten Masterpages nicht viel Zeit verloren geht, weil jedesmal mehrere Files geöffnet werden müssen.
  2. Thomas schrieb am Sonntag, 16. November 2014 20:28:00 Uhr:

    Nein.


« Zurück  |  Weiter »