HTML-Dateien in ASP.NET als Templates benutzen?

dsolianyi

Erfahrenes Mitglied
Hallo!

Ich habe jeztz folgende Struktur auf meiner Seite:

ein Verzeichniss Images mit Unterverzeichnissen Gif und Jpg. Dann gibt es noch das Verzeichniss Pages mit Unterverzeichnissen Flash und Noflash. Jetzt habe ich die Aufgabenstellung bekommen, im Pages-Verzeichniss NUR HTML-Dateien zu lagern. Und im Images alle Bilddateien. Die eigentliche Aufgabe besteht aber jetzt darin, dass eine ASPX-Datei im Wurzelverzeichniss angelegt werden soll, um dann Header- und Footer-Info abzurufen. Diese Datei wurde bereits angelegt und es geht nun darum, dass wenn ich die Pfade im HTML-Datei so anpasse, dass diese die Bilder anzeigen können alles ok ist. Includiere ich nun diese Dateien in die Default.aspx in dem Wurzelverzeichniss, stimmen - logischerweise - die Pfade zu den Bildern nicht mehr. Ein Beispiel soll das verdeutlichen:

Ich habe folgende Dateien: /Default.aspx; /pages/Header.htm; /pages/Footer.htm
Die Default-Datei fasst die anderen Dateien in der richtigen Reihenfolge zusammen und fertig ist eine Simple - dennoch eine funktionierende :) - Aspx-Seite.

Nun die Codes:
/Default.aspx
Code:
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<%@ Register TagPrefix="UserControl" TagName="Header" Src="pages/Header.htm" %>
<%@ Register TagPrefix="UserControl" TagName="Footer" Src="pages/Footer.htm" %>
<UserControl:Header id="myHeader" runat="Server" />
<p></p>
<UserControl:Footer id="myFooter" runat="Server" />

/pages/Header.htm:
Code:
<HTML>
<HEAD>
<TITLE>MyASPNET</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY background="../images/gif/wall_grey.gif">

/pages/Footer.htm:
Code:
<H2>Testtext in H2-Tag</H2>
<H3>Footer-Datei</H3>
</BODY>
</HTML>

Bei Header.htm gibt es Probleme mit Hintergrundbild, denn: solange man diese Seite aus Pages-Verzeichnis aufruft, ist alles ok - wird es aber aus anderem Verzeichniss aufgerufen, gibt es Probleme. Meine Frage an Euch wäre nun, ob es möglich wäre so zu machen, dass egal von wo diese Seite aufgerufen wird, der Pfad zum Bild immer richtig gesetzt wird.

Danke im voraus!

Mit freundlichen Grüßen
SOLIANYI Dmitri
 
Ich weiß nicht genau ob man das so machen sollte, aber du könntest doch den Pfad z.B. in einer String Variablen namens ImageDir speichern.
Nachteil: Die HTML Seite ist nicht mehr als reine HTML Seite zu gebrauchen, da asp.net code enthalten ist.

Du deklarierst in der HTML Datei die Variable nur, wenn es sie noch nicht gibt und weist ihr den Pfad"../images/" zu.

In der Default Datei wird die Variable immer deklariert und ihr der Pfad "/images/" zugewiesen.

Vielleicht ein Ansatz ...
 
Zuletzt bearbeitet:
Zurück