24. januar 2004 - 14:10Der er
18 kommentarer og 2 løsninger
server.execute og title
Hej
Jeg bruger
Option Explicit Dim s s = request.querystring("s") server.execute("includes/header.asp") if not s = "" then server.execute("includes/"&s&".asp") else server.execute("includes/om.asp") end if server.execute("includes/footer.asp")
og kalder så alle mine sider med default.asp?s=denpågældende side
problemet er at jeg gerne vil ha' at <title> tagget, som er defineret i header.asp, bliver forskelligt fra side til side - er der nogen måde jeg kan gøre det på med den nuværende struktur?
Ok, det troede jeg :) men <title> vel kun sættes i en fil. Hvis titlen ikke kan bestemmes i header.asp filen men i den som kalder server.execute flere gange må man bruge Session variablen da Server.Execute ikke kan håndtere querystrings i filnavnet: xxx.asp?title=abc man kan heller ikke share variable med server.Execute..
Altså: title = "abc" Server.Execute("header.asp") 'Så kan variablen title IKKE ses på header.asp siden
Hvis du bruger HTML include, sådan her kan variablen ses så det en mulighed, når det er et fast filnavn du includer: <!--#include file="header.asp"-->
title = "abc" %><!--#include file="include/header.asp"--><%
og på siden header bruger: <title><%=title%></title>
Synes godt om
Slettet bruger
26. januar 2004 - 14:19#10
eagle >
dette er min default.asp
<% Option Explicit Dim s s = request.querystring("s") %> <!-- #include file="includes/header.asp"--> <% if not s = "" then server.execute("includes/"&s&".asp") else server.execute("includes/om.asp") end if server.execute("includes/footer.asp") %>
og hvis jeg så kalder default.asp?s=ny
og har defineret title som variabel i ny.asp sker der stadig ikke noget
Hvilken variabel? Hvad hedder den og hvor sætte du den?
Synes godt om
Slettet bruger
28. januar 2004 - 12:54#12
jeg vil gerne (udfra den struktur som jeg viser 26/01-2004 14:19:47) have en lokal variabel "titel" i hver fil som jeg includer. Så dvs. i ny.asp er titel = "et eller andet", i om.asp er titel = "noget andet" etc... Kan det lade sig gøre?
Det vil heller ikke virke. Man kan ikke føre data "tilbage i tiden" :). Når man først har udskrevet en variable vil det man har udskrevet ikke ændre fordi man ændre på variablen senere i koden.
Du må i filen som includer filerne (26/01-2004 14:19:47) ud fra s bestemme hvilen title som skal udskrive i header.asp før header.asp includes:
<% Option Explicit Dim s s = request.querystring("s") select case s case "ny" title = "et eller andet" case "om" title = "noget andet" case else title = "default title" end select %> <!-- #include file="includes/header.asp"--> <% if not s = "" then server.execute("includes/"&s&".asp") .. ..
Synes godt om
Slettet bruger
28. januar 2004 - 23:33#18
hmm, det har du jo ret i, men så har jeg et problem for ofte vil jeg ikke kende det på forhånd idet det i flere tilfælde vil være baseret på udtræk fra db.
F.eks. som her
<title>Eksperten | Programmering : Script : ASP : server.execute og title</title>
Synes godt om
Slettet bruger
29. januar 2004 - 00:57#19
fuck det - har ændret strukturen helt nu, således at hver fil kaldes seperat og title variablen sættes lokalt i hver fil inden header.asp inkluderes. Smid et svar - så kan I dele points for indsatsen :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.