Hallå försökte mig på att göra en meny. Byt ut server.execute mot response.redirect eftersom det är det jag tror du är ute efter. ... ingen skillnad fattar int varför det inte fungerar. <code> resulterade i detta felmess: Funkar detta? När du säger att det inte händer något, menar du då att start.asp visas hela tiden? I sådana fall blir ju inte villkoret "If Obj.FileExists(Trim(LCase(Request.QueryString("link"))) & ".asp") Then" sant, troligtvis på grund av att filen inte finns. Varför har du Trim och LCase här, men inte när du anropar server.execute? Det kan ju vara lämpligt att försöka öppna samma sträng som du har kontrollerat finns. Detta kanske fungerar. Med koden nedanför fungerar det att skriva default.asp?link=link1 osv men att bara skriva default.asp resulterade i detta felmess som i koden nedanför: Prova detta: Prova detta, Använder det på min sida. Ganska enkel meny.Questring meny
Men jag får det inte att fungera.
den includerar start.asp som den ska men när man klickar vidare händer inget...
Någon som vet vad som är fel?
eller ifall det finns nån likande lösning på detta?
jag vill även kunna ha de "includerade" filerna i undermappar.
Nån som sitter på nått bra script?
Jag kör iis på min dator.
koden:
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<table border="1" width="61%" height="65">
<tr>
<td width="15%" height="60" valign="top">
Startsidan:<br>
länk1<br>
länk2
</td>
<td width="86%" height="59" valign="top">
<%
Set Obj = CreateObject("Scripting.FileSystemObject")
If Obj.FileExists(Trim(LCase(Request.QueryString("link"))) & ".asp") Then
Server.Execute Request.QueryString("link") & ".asp"
Else
Server.execute "start.asp"
End if
Set Obj = Nothing
%>
</td>
</tr>
</table>
</body>
</html>Sv: Questring meny
Sv: Questring meny
prövade att lägga det på mitt webhotell nu me samma där.Sv: Questring meny
Set Obj = CreateObject("Scripting.FileSystemObject")
If Obj.FileExists(Trim(LCase(Request.QueryString("link"))) & ".asp") Then
Server.Execute Request.QueryString("link") & ".asp" 'Borde vara:
'Trim(LCase(Request.QueryString("link"))) & ".asp") istället...
Else
Server.execute "start.asp"
End if
Set Obj = Nothing
</code>Sv: Questring meny
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/test/palle/korv/default.asp, line 38, column 49
line 38 är alltså den rad som angavs att jag skulle ändra på.Sv: Questring meny
<code>
strLink = CStr(Request.QueryString("link") & ".asp")
Response.Redirect strLink
</code>Sv: Questring meny
/JohanSv: Questring meny
<code>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<table border="1" width="61%" height="65">
<tr>
<td width="15%" height="60" valign="top">
Startsidan:<br>
länk1<br>
länk2
</td>
<td width="86%" height="59" valign="top">
<%
Dim FSO
Dim File
Dim Foler
Dim FileName
FileName = Trim(LCase(Request.QueryString("link"))) & ".asp"
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Foler = FSO.GetFolder(Server.MapPath("."))
For Each File In Foler.Files
If LCase(File.Name) = FileName Then
Server.Execute File.Path
Exit For
End If
Next
If File Is Nothing Then
Server.execute "start.asp"
End If
Set Obj = Nothing
%>
</td>
</tr>
</table>
</body>
</html>
</code>
Det är säkrare att loopa igenom en specifik mapp istället för att köra Folder Exist. Annars kan man skicka en sökväg till en fil i en annan map. T.Ex. Request.QueryString("link") = "\..\..\..\web.cfg"Sv: Questring meny
Server.MapPath() error 'ASP 0171 : 80004005'
Missing Path
/default.asp, line 36
The Path parameter must be specified for the MapPath method.
<code>
<table border="1" width="61%" height="65">
<tr>
<td width="15%" height="60" valign="top">
Startsidan:<br>
länk1<br>
länk2
</td>
<td width="86%" height="59" valign="top">
<%
Set Obj = CreateObject("Scripting.FileSystemObject")
If Obj.FileExists(Server.MapPath(Request.QueryString("link")) & ".asp") Then 'Detta är rad 36'
Server.Execute Request.QueryString("link") & ".asp"
Else
Server.execute "start.asp"
End if
Set Obj = Nothing
%>
</td>
</tr>
</table>
</code>
när jag testade med de övriga tipsen jag fick så fungerade det inte.Sv: Questring meny
<code>
<table border="1" width="61%" height="65">
<tr>
<td width="15%" height="60" valign="top">
Startsidan:<br>
länk1<br>
länk2
</td>
<td width="86%" height="59" valign="top">
<%
if not Request.QueryString("link") = "" Then
fil = "start"
else
fil = Request.QueryString("link")
end if
Set Obj = CreateObject("Scripting.FileSystemObject")
If Obj.FileExists(Server.MapPath(fil) & ".asp") Then
Server.Execute fil & ".asp"
Else
Server.execute "start.asp"
End if
Set Obj = Nothing
end if
%>
</td>
</tr>
</table>
</code>Sv: Questring meny
<code>
<% IF Request.Querystring("link") = "design" THEN %>
Startsidan<BR>
<% ELSE %>
Startsidan<BR>
<% END IF %>
<% IF Request.Querystring("link") = "design" THEN %>
- <font size ="2"><A HREF="link1.htm">Link1</a></font><BR>
- <font size ="2">Link2</font><BR>
<% END IF %>
<% IF Request.Querystring("länk") = "design" THEN %>
Blandat<BR>
<% ELSE %>
+ Blandat<BR>
<% END IF %>
<% IF Request.Querystring("länk") = "design" THEN %>
- <font size ="2">Länkar</font><BR>
<!--Bara att bygga vidare-->
<% END IF %>
</code>
Du får byta ut default.asp till den sida där koden ligger och länka vidare därifrån