ASP Classic

Seiten mit ASP zusammensetzen

Include vs. Server.Execute

Starre HTML-Seiten haben oftmals die Angewohnheit den Webmaster bei Änderungen ziemlich ins Schwitzen zu bringen, denn diese können sich auf eine große Anzahl einzelner Seiten auswirken, wenn man z.B. auf jeder Seite ein Navigationsmenü angebracht hat und dieses nun ändern möchte. Abhilfe würden in einem solchen Fall z.B. Frames schaffen, die jedoch wiederum andere Nachteile mit sich bringen. So ist es mit Frames nicht möglich ohne Javascript den Inhalt eines Frames über ein Navigationsframe zu steuern.

Die Seiten des alten zerbit.de-Webs enthielten keinerlei Frames oder Javascripte. Jede einzelne wurde über ASP aus mehreren "Modulen" auf dem Server "zusammengebaut". So gabt es einen Header, die Navigationsleiste links, die News-Leiste rechts und die Fußzeile, die jeweils von einer ASP- bzw. HTML-Seite repräsentiert wurden.

Ausgangspunkt ist der Seitenentwurf, der aus einer Tabellenstruktur besteht, die aus 5 Grundzellen besteht. In jeder dieser Zellen steckt eine weitere Tabelle, die den jeweiligen Inhalt enthält.

Steht das gewünschte Layout, wird die Inhaltstabelle der vier Rahmenzellen in separate Dateien ausgelagert, wobei darauf zu achten ist, dass in diesen HTML- oder ASP-Dateien keine HTML-, HEAD- oder BODY-Tags enthalten sind. An die Stelle der Tabellen im Hauptdokument wird eine INCLUDE-Anweisung gestellt, die den Inhalt der Datei während des Zugriffs wieder einsteuert:

<!--#include virtual="/header.asp" //-->

Diese SSI-Anweisung kann entweder mit dem Parameter virtual oder file versehen werden, wobei bei file der Pfad entweder relativ von der aktuellen Datei aus gesehen wird oder eine absolute Pfadangabe enthält (z.B. "c:\inetpub\wwwroot\header.asp"). Bei virtual muss ein virtueller Pfad zur Datei angegeben werden (z.B." /header.asp"). 

Problematisch ist die INCLUDE-Anweisung jedoch, wenn z.B. der anzuzeigende Inhalt auch aus einer externen Datei kommen und einer ASP-Seite als Parameter übergeben werden soll. Hier funktioniert das Prinzip nicht, denn INCLUDE-Anweisungen werden vom Server immer als erstes abgearbeitet, d.h. bevor der Parameter mit Request.QueryString abgerufen werden kann. Daraus ergibt sich, dass bei INCLUDES nicht mit Variablen gearbeitet werden kann.

Abhilfe schafft hier eine ASP-Anweisung:

Server.Execute(strPage)

Diese Anweisung dient normalerweise dazu ein externes Script auszuführen, das Ergebnis anzuzeigen und danach zur aufrufende Seite zurückzukehren. In unserem Fall stellt der komplette Inhalt der einzusteuernden Seite das Ergebnis dar, wobei alle darin enthaltenen Scripte zu Zeitpunkt des Einsteuerns ausgeführt werden.

Die Anweisung akzeptiert allerdings nur Dateien, die auf dem gleichen Webserver liegen und die über virtuelle Pfadangaben erreichbar sind. Absolute Pfade wie c:\inetpub\wwwroot\xyz funktionieren nicht.

kick it on dotnet-kicks.de AddThis 0 wikio-Stimme(n) Trackback-Url...

Verwandte Artikel

Dynamische Navigation mit PHP

Keine Kommentare bislang...

Dein Kommentar hierzu...


Kommentar-Feed für diesen Beitrag
Gravatare werden unterstützt .:. eMail-Adressen werden nicht veröffentlicht
 

RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

  • Roland : 06.09.2010 13:15 @ OutlookSignature
    in der Facebook-Gruppe gibt es zumindest...
  • Roland : 06.09.2010 11:48 @ OutlookSignature
    Hallo, wir verwalten unsere Signaturen a...
  • Helmut : 05.09.2010 15:08 @ OutlookSignature
    Mir wird bei Outlook 2010 auch die Stand...
  • S. Doberstein : 31.08.2010 22:59 @ Der Ordner "MSOCache"
    Fortsetzung meines gestrigen Kommentares...
  • Steffen Doberstein : 30.08.2010 20:50 @ Der Ordner "MSOCache"
    Hallo! Ich fand die Idee mit dem Partiti...

Artikel 3

  • Datum: 23.01.2005
    Kategorie: ASP Classic
    Zugriffe: 1.098
    Kommentare: 0
    Trackbacks: 0

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei