<a href = 'index.asp?page=[red]<% = Request.ServerVariables("script_name") %>[/red]'>länk</a>
eller?
36 svar · 763 visningar · startad av joohn
Tex jag har en templatesida och gör flera av den (photo.asp / print.asp / video.asp )
Sen ska jag ha en huvudsida och när man klickar på länkbilderna så ska det bli tex index.asp?page=photo.
Har försökt med lager men det verkar bara vara jobbigt och opraktiskt så jag tror på den här lösningen.
Hur kan kodlösningen se ut?
<a href = 'index.asp?page=[red]<% = Request.ServerVariables("script_name") %>[/red]'>länk</a>
eller?
Jag har hursomhelst ingen aning, en gav mig det här kodexemplet och sa att det skulle vara i något stil med det.
If Request.Querystring("page") = "photo" Then
Server.Execute("photo.asp")
ElseIf Request.Querystring("page") = "cv" Then
Server.Execute("cv.asp")
End If
Jo, så skulle det kunna se ut. Vad är problemet?
anders; jag kan nästan ingenting.
och det där är väl bara en del av koden? hur ska a href-taggen se ut då?
Som du skrev i originalinlägget?
<a href="sidan.asp?page=photo">Fotoner</a>
<a href="sidan.asp?page=cv">CV</a>
Så det är bara att ha
<a href="index.asp?page=cv"><img src="cv.gif" /></a>
och det här under
If Request.Querystring("page") = "photo" Then
Server.Execute("photo.asp")
ElseIf Request.Querystring("page") = "cv" Then
Server.Execute("cv.asp")
End If
ASP-koden lägger du på den sidan du länkar till, dvs index. asp. Glöm inte att lägga den mellan context-switchar (<% och %>). Länkarna kan du lägga var du vill.
Okej tack, ska testa och återkomma om det fungerar eller inte, men det gör det säkert :)
Fått det att fungera men det är ett fel.
jag har nu såhär:
<%
If Request.Querystring("page") = "index" Then
Server.Execute("index.asp")
ElseIf Request.Querystring("page") = "aboutme" Then
Server.Execute("aboutme.asp")
ElseIf Request.Querystring("page") = "cv" Then
Server.Execute("cv.asp")
ElseIf Request.Querystring("page") = "photo" Then
Server.Execute("photo.asp")
ElseIf Request.Querystring("page") = "print" Then
Server.Execute("print.asp")
ElseIf Request.Querystring("page") = "guestbook" Then
Server.Execute("guestbook.asp")
End If
%>
<li><a href="index.asp?page=index"><img src="menu.gif" /></a></li>
<li><a href="index.asp?page=aboutme"><img src="aboutme.gif" /></a></li>
<li><a href="index.asp?page=cv"><img src="cv.gif" /></a></li>
<li><a href="index.asp?page=photo"><img src="photo.gif" /></a></li>
<li><a href="index.asp?page=print"><img src="print.gif" /></a></li>
<li><a href="index.asp?page=guestbook"><img src="guestbook.gif" /></a></li>
när jag klickar på tex photo och kommit in på den sidan och klickar sen på cv så blir det photo+cv i en lång sida..
hur kan man åtgärda det?
Har du en länk till sidan så vi kan se hur det ser ut?
Med den koden ska bara en sida kunna exekveras.
klicka på gästbokslänken som är längst ner
det finns typ 6 st X
Tja, något fel måste du ju ha gjort, för nu har jag hundra sidor på samma ställe i min browser. Hur ser hela koden i index.asp ut?
<!-- #include file="adovbs.inc" -->
<%
Set com1 = Server.CreateObject("ADODB.Connection")
com1.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/lankar.mdb")&";"
Set rs1 = Server.CreateObject("ADODB.Recordset")
If request.querystring("a")="alf" Then
sql1 = "SELECT *, Format$([datum],'yymmdd') AS fDatum, Format$([datum],'hh:mm') AS fTid FROM lankar ORDER BY titel ASC"
ElseIf request.querystring("a")="dat" Then
sql1 = "SELECT *, Format$([datum],'yymmdd') AS fDatum, Format$([datum],'hh:mm') AS fTid FROM lankar ORDER BY datum DESC"
Else
sql1 = "SELECT *, Format$([datum],'yymmdd') AS fDatum, Format$([datum],'hh:mm') AS fTid FROM lankar ORDER BY datum DESC"
End If
rs1.open sql1, com1, 3, 3
%>
<%
If Request.Querystring("page") = "index" Then
Server.Execute("index.asp")
ElseIf Request.Querystring("page") = "aboutme" Then
Server.Execute("aboutme.asp")
ElseIf Request.Querystring("page") = "cv" Then
Server.Execute("cv.asp")
ElseIf Request.Querystring("page") = "photo" Then
Server.Execute("photo.asp")
ElseIf Request.Querystring("page") = "print" Then
Server.Execute("print.asp")
ElseIf Request.Querystring("page") = "guestbook" Then
Server.Execute("guestbook.asp")
End If
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>mongo.nu </title>
<link rel="stylesheet" href="css/mongo.css" type="text/css" />
</head>
<body onload='showHot=true;self.focus();'>
<div id="top"><br/>
<ul style="list-style-type:none;">
<li><a href="index.asp?page=index"><img src="menu.gif" /></a></li>
<li><a href="index.asp?page=aboutme"><img src="aboutme.gif" /></a></li>
<li><a href="index.asp?page=cv"><img src="cv.gif" /></a></li>
<li><a href="index.asp?page=photo"><img src="photo.gif" /></a></li>
<li><a href="index.asp?page=print"><img src="print.gif" /></a></li>
<li><a href="index.asp?page=guestbook"><img src="guestbook.gif" /></a></li>
</ul>
<div id="top-time"><script language="JavaScript" src="js/datum.js" type="text/javascript"></script>
</div>
</div>
<div id="container">
<div id="menu">
<div id="menu-in">
</div></div>
<div id="mail">
<div class="mail-in">
<form action="http://mail.mongo.nu/src/redirect.php" method="post" target="new" onSubmit="this.login_username.value += '@mongo.nu'; document.location.reload();">
<input type="text" name="login_username" value="Login" onFocus="this.value='';" class="mailform" /><br /><br />
<input type="password" name="secretkey" value="password" onFocus="this.value='';" class="mailform" />
<input type="hidden" name="js_autodetect_results" value="SMPREF_JS_OFF" />
<input type="hidden" name="just_logged_in" value="1" /><br /><br />
<input name="submit" type="image" src="login.gif" value="Logga in" />
</form>
</div>
</div>
<br />
<br />
<br />
<div id="linkadder">
sortera efter:<a href="guestbook.asp?a=alf"> bokstav</a> - <a href="guestbook.asp?a=dat">datum</a> <br /> <br />
<%
rs1.movefirst
If rs1.eof Then
response.write "listan är tom"
Else
Do Until rs1.eof
%>
<div class="linkadder-datetime">
<div class="linkadder-datetime-in">
<img src="pics/newsicon.gif" /><%=rs1("fDatum") & " - " & rs1("fTid")%>
</div>
</div>
<div class="linkadder-linkmessage">
<div class="linkadder-linkmessage-in">
<b><a href=" <%=rs1("http")%> " target="_blank"> <%=rs1("titel")%></a></b>
<%=rs1("beskr")%><br /><br /><br />
</div>
</div>
<%
rs1.movenext
Loop
End If
rs1.close
com1.close
%>
</div>
</div>
<div id="footer">
[url]www.mongo.nu [/url]| <a href="mailto:john@mongo.nu">john@mongo.nu</a> | <a title="Validates as XHTML 1.0 Transitional at W3C" href="http://validator.w3.org/check/referer" target="new">XHTML
1.0</a> | <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.mongo.nu/portfolio/css/mongo.css" target="new">CSS
2.0</a>
</div>
</body>
</html>
photo.asp här
<!-- #include file="adovbs.inc" -->
<%
Set com1 = Server.CreateObject("ADODB.Connection")
com1.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/lankar.mdb")&";"
Set rs1 = Server.CreateObject("ADODB.Recordset")
If request.querystring("a")="alf" Then
sql1 = "SELECT *, Format$([datum],'yymmdd') AS fDatum, Format$([datum],'hh:mm') AS fTid FROM lankar ORDER BY titel ASC"
ElseIf request.querystring("a")="dat" Then
sql1 = "SELECT *, Format$([datum],'yymmdd') AS fDatum, Format$([datum],'hh:mm') AS fTid FROM lankar ORDER BY datum DESC"
Else
sql1 = "SELECT *, Format$([datum],'yymmdd') AS fDatum, Format$([datum],'hh:mm') AS fTid FROM lankar ORDER BY datum DESC"
End If
rs1.open sql1, com1, 3, 3
%>
<%
If Request.Querystring("page") = "photo" Then
Server.Execute("photo.asp")
ElseIf Request.Querystring("page") = "aboutme" Then
Server.Execute("aboutme.asp")
ElseIf Request.Querystring("page") = "cv" Then
Server.Execute("cv.asp")
ElseIf Request.Querystring("page") = "photo" Then
Server.Execute("photo.asp")
ElseIf Request.Querystring("page") = "print" Then
Server.Execute("print.asp")
ElseIf Request.Querystring("page") = "index" Then
Server.Execute("index.asp")
End If
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>mongo.nu </title>
<link rel="stylesheet" href="css/mongo.css" type="text/css" />
</head>
<body onload='showHot=true;self.focus();'>
<div id="top"><br/>
<ul style="list-style-type:none;">
<li><a href="index.asp?page=index"><img src="menu.gif" /></a></li>
<li><a href="index.asp?page=aboutme"><img src="aboutme.gif" /></a></li>
<li><a href="index.asp?page=cv"><img src="cv.gif" /></a></li>
<li><a href="index.asp?page=photo"><img src="photo.gif" /></a></li>
<li><a href="index.asp?page=print"><img src="print.gif" /></a></li>
<li><a href="index.asp?page=guestbook"><img src="guestbook.gif" /></a></li>
</ul>
<div id="top-time"><script language="JavaScript" src="js/datum.js" type="text/javascript"></script>
</div>
</div>
<div id="container">
<div id="menu">
<div id="menu-in">
<script type="text/javascript">
var SlideShowSpeed = 3000;
var CrossFadeDuration = 2;
var Picture = new Array();
var showHot = false;
Picture[1] = 'photo/colorstart.gif';
Picture[2] = 'photo/flower.jpg';
Picture[3] = 'photo/flower2.jpg';
Picture[4] = 'photo/plant.jpg';
Picture[5] = 'photo/plant2.jpg';
Picture[6] = 'photo/saltandpepper.jpg';
Picture[7] = 'photo/svartvittstart.gif';
Picture[8] = 'photo/graves.jpg';
Picture[9] = 'photo/dog.jpg';
Picture[10] = 'photo/thaiboxning.jpg';
Picture[11] = 'photo/hauntedhouse.jpg';
var tss;
var iss;
var jss = 0;
var pss = Picture.length-1;
var preLoad = new Array();
for (iss = 1; iss < pss+1; iss++){
preLoad[iss] = new Image();
preLoad[iss].src = Picture[iss];}
function control(how){
if (showHot){
if (how=="H") jss = 1;
if (how=="F") jss = jss + 1;
if (how=="B") jss = jss - 1;
if (jss > (pss)) jss=1;
if (jss < 1) jss = pss;
if (document.all){
document.images.PictureBox.style.filter="blendTrans(duration=2)";
document.images.PictureBox.style.filter="blendTrans(duration=CrossFadeDuration)";
document.images.PictureBox.filters.blendTrans.Apply();}
document.images.PictureBox.src = preLoad[jss].src;
if (document.all) document.images.PictureBox.filters.blendTrans.Play();
}}
</script>
<img src="photo/start.gif" name=PictureBox alt=""><br>
<a class=Controls href="#" onClick="javascript:control('B');"><img src="pics/b2.gif" border=0></a>
<a class=Controls href="#" onClick="javascript:control('F');"><img src="pics/b1.gif" border=0></a>
</div></div>
<div id="mail">
<div class="mail-in">
<form action="http://mail.mongo.nu/src/redirect.php" method="post" target="new" onSubmit="this.login_username.value += '@mongo.nu'; document.location.reload();">
<input type="text" name="login_username" value="Login" onFocus="this.value='';" class="mailform" /><br /><br />
<input type="password" name="secretkey" value="password" onFocus="this.value='';" class="mailform" />
<input type="hidden" name="js_autodetect_results" value="SMPREF_JS_OFF" />
<input type="hidden" name="just_logged_in" value="1" /><br /><br />
<input name="submit" type="image" src="login.gif" value="Logga in" />
</form>
</div>
</div>
<br />
<br />
<br />
<div id="linkadder">
sortera efter:<a href="guestbook.asp?a=alf"> bokstav</a> - <a href="guestbook.asp?a=dat">datum</a> <br /> <br />
<%
rs1.movefirst
If rs1.eof Then
response.write "listan är tom"
Else
Do Until rs1.eof
%>
<div class="linkadder-datetime">
<div class="linkadder-datetime-in">
<img src="pics/newsicon.gif" /><%=rs1("fDatum") & " - " & rs1("fTid")%>
</div>
</div>
<div class="linkadder-linkmessage">
<div class="linkadder-linkmessage-in">
<b><a href=" <%=rs1("http")%> " target="_blank"> <%=rs1("titel")%></a></b>
<%=rs1("beskr")%><br /><br /><br />
</div>
</div>
<%
rs1.movenext
Loop
End If
rs1.close
com1.close
%>
</div>
</div>
<div id="footer">
[url]www.mongo.nu [/url]| <a href="mailto:john@mongo.nu">john@mongo.nu</a> | <a title="Validates as XHTML 1.0 Transitional at W3C" href="http://validator.w3.org/check/referer" target="new">XHTML
1.0</a> | <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://www.mongo.nu/portfolio/css/mongo.css" target="new">CSS
2.0</a>
</div>
</body>
</html>
Okej, så index.asp har alltså också en massa innehåll? Då är det inte så konstigt om det blir konstigt. Visar du alla länkarna på index.asp och dessutom också i undersidorna som exekveras, då blir det lite kaka på kaka.
Jag hade inte haft något innehåll i min index.asp, utan endast layout, och lagt Server.Execute-delen inne i den layoutdel (tabell-cell) där du vill att innehållet i sidan skall läggas.
Du borde dessutom, verkligen, inte länka till index.asp?page=index, eller inte exekvera någonting om man länkar dit. Det blir ju en evig loop.
Jag hade tänkt ha index.asp som startsida och när man klickar på photo så kommer man till photo man ska också kunna klicka sig tillbaks till startsidan dvs index.asp?
photo.asp och index.asp ser ju mer eller mindre likadana ut? Du får skilja på layout och innehåll. Layout i index.asp, innehåll i de andra sidorna.
- - -
Om det är index.asp som ska exekvera alla andra sidor, då kan den inte exekvera sig själv. Då kommer den göra det i all evighet.
Så hur inkluderar jag alla sidor i just en div?