webForumDet fria alternativet

Asp Länkning

ASPur ASP

10 svar · 843 visningar · startad av dareknowak

Medlem sedan mars 200973 inlägg
Frågan#1

Har en liten fråga, på min sida har jag mina länkar såhär "index.asp?main=omoss" och i filen ligger sedan infon som visas i koden nedan, jag har såhär pga att det är inte är så jätte mycke info som behöver skrivas ut, en liten tabell med text för varje länk typ, men tänkte på om i framtiden man skulle ha en större sida, nu till frågan, finns där något enklare och effektivare sätt att göra samma sak och kanske minst krävande för servern/klienten att genomföra?

Eller t.om översätta detta till asp.net skulle vara fin fint då jag tänkte börja med det istället så småningom.

<%If Request.Querystring("main") = "" Then %>
        //Händer nåt skoj
          <%Else If Request.Querystring("main") = "omoss" Then%>
		  //Händer nåt skoj
          <%Else If Request.Querystring("main") = "kontakt" Then%>
		  //Händer nåt skoj
          <%Else If Request.Querystring("main") = "priser" Then%>
		  //Händer nåt skoj
          <%Else If Request.Querystring("main") = "kopvillkor" Then%>
		  //Händer nåt skoj
		  <%End If
		  End If
		  End If
		  End If
		  End If%>
Medlem sedan okt. 2007446 inlägg
#2

Hmm svarade jag inte på nåt liknande nyligen..

Några snabba alternativ
byt ut din ifsats mot en select case

<%
select case Request.Querystring("main")
case "omoss"
 'kod för om oss
case "kontakt"
'kod för kontakt
case else
 'om inget av alternativen
end select

Använd Server.execute

Server.Execute("omoss.asp")

omoss.asp

en asp-fil med enbart det innehåll som skall finnas, dvs inga html,head eller bodytaggar
<%
response.write("lite aspkod")
%>

Vänd på allt och inkludera överdelen + underdelen av sidan på alla undersidor
omoss.asp

<!--#include file="Top.asp"--> 
en asp-fil med enbart det innehåll som skall finnas, dvs inga html,head eller bodytaggar
<%
response.write("lite aspkod")
%>
<!--#include file="botten.asp"-->

slutliga tipset: Gå över till asp.NET och använd masterpage

Medlem sedan mars 200973 inlägg
#3

Select verkar va något isåfall men jobbar select bättre än if satser eller det är ingen större skillnad (Ifall man kör en större sida)?

det andra alternativet känns som det kommer dra mer på servern i slutändan, och det tredje är inte aktuellt då jag även har grejer på sidorna vilket bara skulle va krångligt att ladda, och känns ungefär som att den då får ladda om hela sidan, det skulle vara samma princip som att man skulle köra ren html och göra en kopia av sidan för varje länk och bara länka till filen.

Medlem sedan juni 20019 519 inlägg
#4

Select Case är bättre än If, Select Case tar bara 1 invärde som du har i ditt fall också.

Include och Server.Execute är inga problem med prestanda.

ASP genrera sidan varje gång man uppdatera sidan.

Medlem sedan mars 200973 inlägg
#5

aja la in select på sidan nu och det fungerar fin fint, så alltså då kan man alltså skippa if satsen i fortsättningen och bara köra på select då eller måste man använda if satsen om man har mer än ett invärde? och vad menar du med invärde?

Medlem sedan juni 20019 519 inlägg
#6

If test = "ja" And Test2 = "ja" Then

Medans på Select så kan du kolla på en bara.
Select Case Test
Case "ja"
'...

Medlem sedan mars 200973 inlägg
#7

ok då förstod jag rätt, då lärde man sig ännu nåt nytt, tackar :)

Medlem sedan okt. 2007446 inlägg
#8

dareknowak skrev:

..det skulle vara samma princip som att man skulle köra ren html och göra en kopia av sidan för varje länk och bara länka till filen.

Ehm nej
vad gör du när du skapar en ny fil för att använda tillsammans med server.execute? Jo du SKAPAR en ny fil
när du använder includes för att inkludera sidhuvud + sidfot vad gör du då? Jo du skapar en ny fil och skriver/kopierar dit 2 rader kod

du behöver inte i något av fallen bry dig om att redigera de 2 filer som innehåller din layout (eller 3 eftersom jag antar att du har en extern CSS ^^)

Medlem sedan mars 200973 inlägg
#9

Ja men det va ju det jag mena att dom skapar en ny fil så det skulle bli samma princip som att skapa en ny fil för varje länk ungefär därför lät select som ett bättre alternativ.

Förresten kan select krångla? för sen jag la in det och när jag ibland updaterar sidan så skriver den ut sidan 2 gånger.

Medlem sedan okt. 2007446 inlägg
#10

ja det är samma mängd arbete att ha server.execute + select case som att ha separata filer med header/footer inkluderat. I förstnämda fallet skapar du en ny "content-fil" , lägger in e nytt "case villkor" samt uppdaterar menyn. I det andra fallet så behöver du bara skapa en ny fil där du inkluderar header/footer samt ändra i menyn

Att select case gör så att sidan skrivs ut 2 ggr ser jag som osanolikt
efter som det som sker är att hela sidan körs på servern, select-case kollar vilket innehåll som skall visas och sen kommer det ut en htmlsida.
enda chansen att du skall få sidan 2 ggr är att du lyckats inkludera en kopia av index så att undersidan även innehåller en uppsättning av allt , sånt brukar iofs märkas.

för att vara 100% på att inte servern roar sig med att bara lägga till saker i en redan cachad fil så kan du ju lägga en response.flush överst

Medlem sedan mars 200973 inlägg
#11

okej, tack för svaret.

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