Alexander Ganz: Dynamische Include Files??

Guten Morgähn!

Wie ist das eigentlich bei Include Files in ASP? Wenn ich versuche per Response.Write("<!-- #include file=""" & Request.Querystring("BlaBla") & ".htm"" -->") einen include file in die Seite zu legen wird dieser Aufruf nur in die Seite hinein geschrieben (also <!-- #include file="irgendwas.htm" -->), aber nicht ausgeführt - ist auch irgendwie logisch.
Weiss jemand von euch, ob es eine Möglichkeit gibt Include Files dynamisch zu halten?
Das wäre klasse!

Bis dann
Alex

  1. Guten Morgähn!

    Wie ist das eigentlich bei Include Files in ASP? Wenn ich versuche per Response.Write("<!-- #include file=""" & Request.Querystring("BlaBla") & ".htm"" -->") einen include file in die Seite zu legen wird dieser Aufruf nur in die Seite hinein geschrieben (also <!-- #include file="irgendwas.htm" -->), aber nicht ausgeführt - ist auch irgendwie logisch.
    Weiss jemand von euch, ob es eine Möglichkeit gibt Include Files dynamisch zu halten?
    Das wäre klasse!

    Bis dann
    Alex

    Hallo,

    probier mal das hier:

    <%
    Select Case PID
        Case 1:%><!--#include file="test1.asp" //--><%
        Case 2:%><!--#include file="test2.asp" //--><%
        Case 3:%><!--#include file="test3.asp" //--><%
        Case Else%><!--#include file="test.asp" //--><%
    End Select
    %>

    Allerdings dürfen in den Include-Seiten keine Variablen mehrfach
    deklariert werden (also z.B.: in jeder Seite eine Var namens strText)
    Die solltest Du vorher in deinem aufrufenden Script deklarieren.
    Wenn Du lediglich html-Seiten einbinden willst, geht das auch
    mit dem FileSystemObject. Dann kannst Du den Content dynamisch einbinden.

    Tschau, Stefan

    1. Hallo Stefan!

      Hat funktioniert!
      Vielen, vielen Dank!

      Bis dann
      Alex!

  2. Wie ist das eigentlich bei Include Files in ASP? Wenn ich versuche per Response.Write("<!-- #include file=""" & Request.Querystring("BlaBla") & ".htm"" -->")

    Der Knackpunkt liegt an der Ausgabe mit Response.

    Um Dateien dynamisch zu includen, hast Du mehrere Moeglichkeiten:

    1. Ueberlasse die Anforderung dem Browser und schick ihm
    nur den dynamisch erzeugten Dateinamen:

    <iframe src="<%= Request("BlaBla") %>.htm"></iframe>

    2. Binde die Datei serverseitig mit ein:
    <%
    Set FS=CreateObject("Scripting.FileSystemObject")
    Set TS=FS.OpenTextFile(Server.MapPath(Request("BlaBla") & ".htm"),1,False)
    Response.Write(TS.ReadAll)
    TS.Close
    %>

    3. Nimm die Möglichkeit aus dem Posting vom Stefan Falz.

    Cu Christoph