Du får inte dim:a konstanter eller variabler mer än en gång. Därför föreslår jag att du lyfter ut alla dimensioneringar till en egen includefil.
Jag förstår inte varför du ska ha dimensioneringarna i båda filerna?
4 svar · 213 visningar · startad av doggelito
Denna fråga har varit uppe förrut men svaren då var inte så utvecklade, kanske kommer det bättre svar nu, vi får se.
Fråga:
Jag har en sida med denna kodsnutt
<%
If Request.Querystring("layer") = "1" then %>
<div ID="Layer1" style="position:absolute; left:350px; top:90px; z-index:1; background-color:#DEE0DE; layer-background-color:#DEE0DE; border: 1px none #000000; visibility: visible">
<!--#include file="Start_calender.asp" -->
</div>
<%
ElseIf Request.Querystring("layer") = "2" then %>
<div ID="Layer2" style="position:absolute; left:350px; top:90px; z-index:1; background-color: #DEE0DE; layer-background-color: #DEE0DE; border: 1px none #000000; visibility: visible">
<!--#include file="Stop_calender.asp" -->
</div>
<% End If %>
De båda include filerna är nästan identiska, dvs. har samma variabelnamn, samma constanter m.m.
Eftersom inc-filerna körs innan själva sidan så blir det error på "Name redifiend" på andra inc-filen.
Jag kan inte köra Server.execute eftersom filerna innehåller variabler från "huvudsidan", finns det en lösning?
Du får inte dim:a konstanter eller variabler mer än en gång. Därför föreslår jag att du lyfter ut alla dimensioneringar till en egen includefil.
Jag förstår inte varför du ska ha dimensioneringarna i båda filerna?
Om jag lyfter ut dem så får jag ju en massa dimmade konstanter även om inte Request.Querystring("layer") är 1 el. 2 men det kanske inte gör nått?
Hela koden inkluderas ändå, eftersom SSI körs innan asp-tolken gör sitt.
Du kan ju alltid sätta en if-sats runt inkluderingen av din konstant-fil så den evalueras när layer är 1 eller 2.
Mvh,
Det är uppfattat!