webForumDet fria alternativet

querystring +redirect

10 svar · 301 visningar · startad av landle

landleMedlem sedan juni 20058 inlägg
#1

Är lite ringrostig på Asp eftersom det är flera år sen jag höll på med det sist.
Har gjort en startsida som heter default.asp. Där finns ett antal länkar som fungerar som meny. Funktionen jag vill ha är att när man klickar på en länk så skickas man till en sida som heter main.asp där en koll görs av vilken länk man klickat på mha Request.querystring. I main.asp görs en response.redirect med querystringen igen och därefter skickas man tillbaka till default.asp och då ska det i huvudtabellen göras en "include file" beroende på vad som skickas tillbaka i querystring. Alltså vad man klickat på i menyn.

Problemet är att när redirecten görs från main så blir det att "sidan kan inte visas" för att det inte finns en sida som heter tex. default.asp?bilder. (den heter ju bara default.asp).

Är det jag som är helt lost eller vad gör jag för fel?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Börja med att visa din kod så vi kan förstå lite mer hur du tänker.

Dock: du kan inte göra include file dynamiskt. Du får i så fall använda Server.Execute.

Mvh

landleMedlem sedan juni 20058 inlägg
#3

i default.asp så ser den relavanta delen ut så här:

<td width="97%" height="25">
<a href="Pages/main.asp?bilder" onMouseOver="swtch('15','bild8')" onMouseOut="swtch('14','bild8')">
<img name="bild8" border="0" src="Images/Meny/bilder.jpg"></a></td>
<td width="4%" height="25"> </td>
</tr>

Där skickas alltså "bilder" vidare med länken till main.asp.

I main.asp

<%
if request.querystring = "bilder" then
response.Redirect("default.asp?" & Request.Querystring)
end if
%>

Då skickas alltså "bilder" tillbaka till default.asp igen.

Där tas detta om hand i:

<%if request.querystring = "bilder" Then %>

         		\<div id="besokare" style="position:absolute; left:20px; top:30; z-index:1"\>
				\<!--#include file="pages/bilder.asp"--\>
				\</div\>

<%End if%>

Hoppas det blev klarare.. include fungerar bra när det gäller startsidan där jag gör en include på start.asp.

landleMedlem sedan juni 20058 inlägg
#4

Felet är alltså att sidan inte finns inte som jag skrev tidigare att den inte kan visas..

@ndersMedlem sedan juni 200032 969 inlägg
#5

Problemet är att när redirecten görs från main så blir det att "sidan kan inte visas" för att det inte finns en sida som heter tex. default.asp?bilder.

Jag tror inte att det är det som är problemet. Stäng av egna http-felmeddelanden / friendly http error messages i Internet Explorer så borde du få ett vettigare felmeddelande.

Till att börja med alltså.

landleMedlem sedan juni 20058 inlägg
#6

Den är redan avstängd och det gör ingen skillnad.

"page cannot be found"

och i urlfältet står det
http://localhost/test/Pages/default.asp?bilder

@ndersMedlem sedan juni 200032 969 inlägg
#7

Ligger default.asp i mappen pages?

landleMedlem sedan juni 20058 inlägg
#8

Nä, default.asp ligger direkt under roten och resten av sidorna som main.asp och bilder.asp ligger i Pages

@ndersMedlem sedan juni 200032 969 inlägg
#9

Då är det din redirect som är felaktig, eftersom den utgår ifrån att default.asp ligger i samma mapp som den som redirectar. Om default.asp ligger i webbroten är det bara att inleda sökvägen med en /.

response.Redirect("/default.asp?" & Request.Querystring)

mvh

landleMedlem sedan juni 20058 inlägg
#10

Aha, nu funkar det som en dans..

Tackar så hjärtligt för den snabba och proffsiga hjälpen!

@ndersMedlem sedan juni 200032 969 inlägg
#11

Varsågod, och eftersom jag inte sagt det förr:

Välkommen till webForum! :)

Slutligen: Använd gärna Acceptera som slutgiltigt svar. :)

Mvh

127 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)