DevTrain

Autor: Andreas Rauch

Der bessere Include

Kennen Sie den schon...? Es war einmal ein <Include>. Wers benutzt weiß, daß das Include File immer geladen wird und zwar komplett.  Nicht, daß es schlecht gewesen wäre, aber wesentlich komfortabler wäre es doch, wenn man bestimmen kann, was wann geladen wird. Dazu gibt es unter dem IIS 5 oder ASP 3 zwei wichtige neue Befehle. die es in sich haben:

Server.Execute und Server.Transfer

Wie diese Methoden funktionieren, läßt sich wunderbar anhand von 2 kleinen Beispielen testen.

Nehmen wir zunächst mal Server.tranfer unter die Lupe:

Wir erstellen zunächst eine Datei (transfer.asp), in der wir den server.transfer ausführen.

transfer.asp

<%@ Language=VBScript %>
<html>
<head><title>Seite 1</title></head>
<body> Dies ist Seite 1
<br>
<% Server.Transfer "SeiteB.asp" %>
Geschrieben und niemals gesehen
<br>
</body>


Unn nun noch die Seite (SeiteB.asp), die durch server.transfer ausgeführt wird.

SeiteB.asp

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
Dies ist Seite B
<P>&nbsp;</P>

Können sie sich schon denken, was passiert. SeiteB.asp hat kein End-Tag und dies ist
wohlgemerkt kein Fehler.

Server.transfer bricht ab der Stelle die Seite transfer.asp ab an der die Funktion aufgerufen wird und fährt mit der SeiteB.asp fort als wäre nichts gewesen. Nach dem Laden und Ausführen der SeiteB.asp wird die transfer.asp weiter ausgeführt. Sozusagen eine Call Funtkion.

Was macht nun server.execute?

execute.asp
<%@ Language=VBScript %>
<html>
<head><title>Seite 1</title></head>
<body>Dies ist Seite 1<br>
<% Server.Execute("Seite2.asp") %>
Dies ist Seite 1 zweiter Teil<br>
</body>
</html>


Seite2.asp
<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
Dies ist Seite 2
</BODY>
</HTML>

Die execute.asp ruft die Seite 2 auf und fährt mit dieser fort. Alles was in der execute .asp noch an Code steckt bleibt komplett unbeachtet. Wir realisieren hier sozusagen eine Call oder Sprungfunktion.

Die Möglichkeiten und Vorteile des Einsatzes sind natürlich groß. Das Include-File  bspw. wird immer geladen und jede Seite immer komplett abgearbeitet. Nicht aber bei den genannten Methoden.

Probieren Sie es ruhig mal aus... aber Achtung. Immer schön darauf aufpassen, daß das HTML Gerüst noch stimmt.

 

 


Erfasst am: 25.01.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=273
© Copyright 2003 ppedv AG - http://www.ppedv.de