Eine Hauptseite, alle Inhalte über includes steuern

Ich will für mein Projekt anstatt für jede Seite eine neue komplette Seite diesmal das ganze Projekt über includes steuern, d.h. eine Hauptseite, die praktisch den generellen Rahmen wie TopBanner, Navigationsleiste und so vorgibt, und dann oben und dort, wo uznterschiedliche Inhalte der verschiedenen Seiten sind, die Scripte in externen includes haben

Nun dachte ich, es wäre ganz einfach - einfach über <!--include ... gehen:
Code:
if Request.QueryString("mode") = "" or Request.QueryString("mode") = "index" then %>
		<!-- #include file="inc_startseite_header.asp" -->
	<%  end if
	if Request.QueryString("mode") = "galleries" then %>
		<!-- #include file="inc_galleries_header.asp" -->
	<%  end if
..und weiter unten, dort wo der Inhalt ist dann eben
Code:
<% if Request.QueryString("mode") = "" or Request.QueryString("mode") = "index" then
				response.write "<!-- #include file=""inc_startseite.asp"" -->"
			 end if %>
			  <% if Request.QueryString("mode") = "galleries" then %>
				<!-- #include file="inc_galleries.asp" -->
				<% end if %>

==> Geht aber nicht. Es werden, egal welcher Modus, beide includes geladen. Und das obwohl ich das ganz klar eingeteilt habe.
Hat jemand ne Idee?
 
Hi

includes werden in der Regel geladen, bevor das Script ausgeführt wird.

Besteht nicht die Möglichkeit, die Abfrage innerhalb einer Include zu stellen? z.B. man schreibt sich die unterschiedlichen header und footer in subs und fragt diese in der Include ab.
 
hi

ich meinte eher, dass Du die Abfrage nicht auf unterschiedliche includes legst, sondern die unterschiedlichen Aktionen in der include-Datei selbst abfragst.

bsp. footer.asp

<%
dim strMode
strMode = Request.QueryString("mode")
if strMode = "" or strMode = "index" then
Response.write "hier die Daten von Footer-Allgemein"
else
Response.write "hier die Daten, wenn obiges nicht zutrifft."
end if
%>

Diese Datei dann einbinden

<!--#include file="footer.asp" -->
 
Habs jetzt andersrum gemacht: Doch einzelne Seiten, und dann bei jeder Seite sind die Rahmeninhalte aus ner include, sodass ich das auch fast dynamisch steuern kann. Naja - fürs Projekt ist das auch ausreichend...
 
HI

Jaja diese includes die nicht das machen was man will :)
Includes egal ob "file" oder "virtual" haben das Problem das sie immer vor dem ASP Script abgearbeitet werden, das heißt, das wars mit der dynamic der asp Seite.
Eine andere Möglichkeit ist.
Server.Execute( Dateiname )
Hier kann der Dateiname variabel dur z.b. eine abfrage aus der Datenbank erzeugt werden.

Ein riesen Nachteil von server.execute(dateiname) ist das man die Seiten zwar dynamisch einbinden kann, aber sie nicht in abhängigkeit der Hauptseite halten kann, wie es bei includes möglich ist.
Wen jemand weiß wie ich .xxx Seiten dynamisch und in abhängigkeit der Hauptseite einbinden kann, bin ich wie immer sehr dankbar:)

So jetzt konnte ich auch mal ein bischen Helfen hoffe ich zumindest und wenn nicht habe ich wenigstens was geschrieben:)

Gruss Florian
 
Sagen wir mal, wenigstens was geschrieben ;) ;) . Danke trotzdem.


Ok, anderes Problem [gehört eventuell eher zu JavaScript]:

Ich habe ein Eventmanagement System. Wenn ich jetzt neue Events eingeben will, muss ich bestimmte Felder ausfüllen, d.h. Überschrift, Zeit, Datum usw.
Nun ist das ziemlich langsam. Daher will ich den größten Teil über Drop Down Menüs steuern, d.h. Über Schleifen und ähnliches die Datums/Uhrzeitangaben anzeigen und die Ort/Adressen über ein DropDownmenü ausgeben. Das Problem bei der Sache ist jetzt zum Beispiel, das ich die Ort-zelle eines Events so gestaltet habe, das, wenn nur eine Zahl drin steht, in der Ort-Tabelle nachgeguckt wird, wie der Ort heißt, ODER, wenn gleich ein Ort drin steht, er einfach nur das, was drin steht ausgibt. Das hat den Vorteil, das ich für kleinere Orte an denen vielleicht einmal nur ein Event statfindet, keinen DB Eintrag extra machen muss. D.h. ich hab jetzt noch von meiner bisherigen Eingabeseite einfache Text-inputs, und daneben, wo es Sinn macht, Drop Down Menüs.

Was ich jetzt will ist eigentlich ganz einfach. Ich will über JavaScript das so erreichen, das ich, wenn ich im DropDown Menü einen Eintrag auswähle, der Inhalt davon sofort in das nebenstehende Textfeld geschrieben wird.

Ich wähle also zum Beispiel ein bestimmtes Datum aus, und das wird sofort in das nebenstehende Textfeld geschrieben. Oder einen Ort, und die im Dropdown als value gespeicherte ID des Ortes wird in das nebenstehende Textfeld geschrieben. Ich hoffe, das das jetzt klar geworden ist, was ich meine ;)
 
Zurück