reinhard: (Echtes!) Dynamisches Einfügen einer HTML-Datei

Hallo,

mir stellt sich folgendes Problem:

Ich greife mittels ASP auf eine Datenbank zu, so weit kein Problem. Für einige Inhalte dieser Datenbank gibt es nun bereits fertige Dokumentationsseiten, die in HTML vorliegen. Diese will ich zur Laufzeit in meine ASP-Seiten einbinden. Der Inhalt der einzufügenden Dateien sollte einfach nahtlos in die ASP-Seite eingefügt werden.

Was nicht geht ist:
<!--#INCLUDE VIRTUAL="name.htm"-->
Da diese Includes lt. meines Wissens VOR dem Ausführen der ASP-Programmerln ausgeführt werden und da weiß ich noch nicht, welche HTML-Dateien ich nun einbinden will.

Was ich nicht machen will ist:
<IFRAME src="name.htm"></IFRAME>

Ist das überhaupt (mittels HTM-Tag, etc.) - und wenn wie - möglich?

Vielen Dank im Voraus, Reinhard

  1. Hallo!
    Ich bin mir zwar nicht sooo ganz sicher, ob ich Dich richtig verstanden habe, aber ich hätte da ein paar Lösungsansätze:

    1. Du könntest bei den entsprechenden Inhalten die Adresse der fertigen HTML-Dokumente hinterlegen und dann aus der Datenbank heraus einen Redirect ausllesen. Dieser würde dann allerdings nur die Seite aufrufen und nicht einbetten.

    2. Wie wäre es, wenn Du ein Memo-Feld einfügen würdest und dort den HTML-Quellcode reinschreiben würdest. Dann müßtest Du ihn nur auslesen und wiedergeben und zwar an der gewollten Stelle.

    3. Du kannst per ASP auch eine Datei auslesen. Du würdest also aus der Datenbank den Namen der Datei heraussuchen lassen, diese dann öffnen (nicht zum Client übertragen!), auslesen und an der entsprechenden Stelle wieder einsetzen. (Scripting.FileSystem siehe <../../sfarchiv/1999_3/t06648.htm>)

    mfg
    JankoW

    1. Danke zuersteinmal für die Lösungsansätze,

      Leider ist keiner dabei, der mich wirklich weiterbringt.

      1. Du könntest bei den entsprechenden Inhalten die Adresse der fertigen HTML-Dokumente hinterlegen und dann aus der Datenbank heraus einen Redirect ausllesen. Dieser würde dann allerdings nur die Seite aufrufen und nicht einbetten.
      1. Wie wäre es, wenn Du ein Memo-Feld einfügen würdest und dort den HTML-Quellcode reinschreiben würdest. Dann müßtest Du ihn nur auslesen und wiedergeben und zwar an der gewollten Stelle.

      2. Du kannst per ASP auch eine Datei auslesen. Du würdest also aus der Datenbank den Namen der Datei heraussuchen lassen, diese dann öffnen (nicht zum Client übertragen!), auslesen und an der entsprechenden Stelle wieder einsetzen. (Scripting.FileSystem siehe <../../sfarchiv/1999_3/t06648.htm>)

      Punkt 2 ist leider nicht möglich, da ich auf die entstehung der einzubettenden Seiten keinen Einfluß habe.

      Punkt 1 , ja das ist auch so eine Sache. Ich habs schon mit JS window.open(....) und IFRAME probiert, funktioniert alles ganz nett, aber nicht exakt so wie ich mirs vorstelle.

      Am ehesten käme Punkt 3 in Frage, ist mir auch schon irgendwie vorgeschwebt, aber mein Programmerl ist jetzt schon zum Verzweifeln langsam.

      Und ich frage mich, ob es nicht irgendwie eine genial einfache Lösung (kann ruhig -ich bin zwar auch nicht wirklich stolz darauf - IE5.0-spezifisch sein) gibt.

      Danke, Reinhard

      1. Am ehesten käme Punkt 3 in Frage, ist mir auch schon irgendwie vorgeschwebt, aber mein Programmerl ist jetzt schon zum Verzweifeln langsam.

        Und ich frage mich, ob es nicht irgendwie eine genial einfache Lösung (kann ruhig -ich bin zwar auch nicht wirklich stolz darauf - IE5.0-spezifisch sein) gibt.

        Die einfachste Lösung ist die unter Punkt 3 beschriebene Methode mit Scripting.FileSystemObject. Da dann erstman alles serverseitig ausgeführt wird, ist von der Geschwindigkeit (bei einem "normalen" Server) her nichts zu befürchten, da dieser Zugriff nicht mal eine Sekunde dauert.
        Allerdings wäre es vielleicht mal sinvoll, die URL zu posten, bzw. den Quelltext der ASP-Seite als Textdatei zu linken. Vielleicht liegt's ja auch am "Programmerl"

        Tschau, Stefan