Avatar billede madx Nybegynder
21. februar 2013 - 10:44 Der er 12 kommentarer

ASP: Forsinke rendering af asp-kode efter x antal sider

Hej

Jeg ønsker hjælp til hvordan jeg får et stykke asp-kode udskrevet efter en bruger har set x antal sider på en hjemmeside.

F.eks. således at en stykke html i en include først udlæses til hjemmesiden, når brugeren har set 3 sider.

Jeg tænker at løsningen må omfatte brug af cookie - for asp'en kan vel ikke holde styr på antallet af sider...
Avatar billede fun22 Nybegynder
21. februar 2013 - 12:32 #1
Hvis du i din siders load event sætter en session også hver gang siden loades ligger en til og når så den når op på 3 så udskriver du det du vil.

eks.

Dim _PageCount as integer = Session("PageCount")

if _PageCount >= 3 then
    Det der skal udføres...
else
    _pageCount += 1
    Session("PageCount") = _PageCount
end if
Avatar billede madx Nybegynder
21. februar 2013 - 13:24 #2
Det lyder som en go plan....

Jeg har sat en lille test op, men jeg får en fejlmeddelelse:

Microsoft VBScript compilation error '800a0408'
Invalid character
/ur_delay3.asp, line 166
dim _PageCount as integer = Session("PageCount")
-----^

Koden ser således ud

<%
dim _PageCount as integer = Session("PageCount")
if _PageCount >= 3 then
response.write("Heeeej")
else
    _pageCount += 1
    Session("PageCount") = _PageCount
end if
%>
Avatar billede fun22 Nybegynder
21. februar 2013 - 13:44 #3
Det er ikke sikkert asp.net er så vild med _ som vb.net er :)

Prøv at fjern _ de tre steder de er...
Avatar billede madx Nybegynder
21. februar 2013 - 13:59 #4
Fyi - det er en asp-side ikke aspx

Nu fejler den lidt længere henne....

Microsoft VBScript compilation error '800a0401'
Expected end of statement
/ur_delay3.asp, line 166
dim PageCount as integer = Session("PageCount")
--------------^


Koden er
<%
dim PageCount as integer = Session("PageCount")

if PageCount >= 3 then
response.write("Heeeej")

else
    PageCount += 1
    Session("PageCount") = PageCount
end if
%>
Avatar billede fun22 Nybegynder
21. februar 2013 - 14:05 #5
Arh... Det var fordi du havde lagt den under .Net kategorien :)

Prøv lige det her.. Er ikke så skarp i det "gamle" asp..

<%
dim pagecount
pagecount = Session("PageCount")

if pagecount >= 3 then
response.write("Heeeej")

else
    pagecount += 1
    Session("PageCount") = pagecount
end if
%>
Avatar billede madx Nybegynder
21. februar 2013 - 14:57 #6
Jeg er nok blind, men jeg kunne ikke finde asp-kategorien og tænke at den nok var udfaset... Men det gør jo nok :)

Jeg rettede selv lidt til hos hende else nederst og fik det til at køre, så koden nu ser sådan ud...

<%
dim PageCount
PageCount = Session("PageCount")

if PageCount >= 3 then
response.write("neej")
response.write("123456")

else
    PageCount = PageCount + 1
    Session("PageCount") = PageCount
end if
%>


Send svar :)

Måske du ved....

Det er et javescript jeg skal have udlæst i response.write-delen, men der er også " i scriptets syntaks.

Er følgende ok
response.write("<script type="text/javascript">")

Eller skal jeg skrive (uden " )
response.write("<script type='text/javascript'>")


Kan jeg lægge kodestumpen
<%
dim kode
end if
%>

ud som include?
Avatar billede madx Nybegynder
21. februar 2013 - 15:26 #7
Har fået det op at køre som include...
Avatar billede arne_v Ekspert
21. februar 2013 - 19:46 #8
Avatar billede madx Nybegynder
22. februar 2013 - 09:51 #9
Tak Arne

Jeg kiggede i http://www.eksperten.dk/spm/Programmering/ og havde ikke lige forstået at man anså asp for "script", men så blev jeg så klog - tak
Avatar billede arne_v Ekspert
22. februar 2013 - 14:35 #10
Det er ret tilfaledigt hvad de har puttet i script og hvad de ikke har, men det er som det er.
Avatar billede madx Nybegynder
07. juni 2013 - 08:11 #11
Måske vi skulle lukke Arne V? Smider et svar...
Avatar billede arne_v Ekspert
09. juni 2013 - 03:53 #12
Jeg har jo kun peget paa den rigtige kategori, saa jeg takker nej til point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester