Avatar billede freecodes Nybegynder
03. september 2002 - 14:25 Der er 7 kommentarer

Pageing i ASP

Jeg er ved at lave en søgeformular hvor jeg bruger pageing til at dele søge resultaterne op således at det ikke er alle resultater der bliver vist på forsiden.. Men hvis jeg trykker på "næste" for at få vist de næste resultater laver den søgeningen igen, som den sakl, uden de værdier der blet puttet i formularen forinden. Hvordan skal jeg gæmme de værdier og ligge dem i formularen når man springer fra side til side.. har tænkt lidt på at bruge sessions men jeg kan ikke få det til at virke..
Laver det således:
IF Session("Soeg") = "" then
Session("Soeg") = Request.form("blabla")
else
Session("Soeg") = Session("Soeg")
end if
men det virker ikke... hvordan skal jeg gøre det.. eller griber jeg det forkert an'?
Avatar billede eagleeye Praktikant
03. september 2002 - 14:28 #1
sogeord = Request.form("blabla")
if sogeord = "" then
  sogeord = Session("Soeg")
else
  Session("Soeg") = sogeord
end if

Så kan du bruge  sogeord    som indeholder det man søger efter.
Avatar billede avlund Nybegynder
03. september 2002 - 14:28 #2
Hvis du bruger method="get" og gemmer søgningen i en <input type="hidden" name="soeg" value="<% = Request.QueryString("soeg") %>" /> - så burde problemet være løst.
Avatar billede avlund Nybegynder
03. september 2002 - 14:29 #3
Så undgår du også sessions, som i sidste ende sender serveren i graven. Det er totalt overkill at benytte sessions til noget så simpelt som det her.
Avatar billede freecodes Nybegynder
03. september 2002 - 14:31 #4
Når jeg skal bruge Get i stedet for Post.. skal jeg så gøre det på en anden måde i selve formularen.. eller er det det samme som post (hvis jeg kan få det til at virke går point til avlund)
Avatar billede eagleeye Praktikant
03. september 2002 - 14:32 #5
avlund>> Session sender ikke severen i graven... Session svare til cookies men bliver kun gemt mens browseren er på siden. Værdierne gemmes i browseren....
Avatar billede avlund Nybegynder
03. september 2002 - 14:35 #6
Det du gør, er, at sørge for at bruge Get i samtlige formularer. I formularen på resultatsiden laver du så en Hidden med samme navn som din inputboks havde (vel at mærke, såfremt du ikke skal bruge din inputboks på resultatsiden). Denne får så værdien Request.QueryString("navnet på inputboksen/hiddenfeltet"), hvilket gør at den vil sende samme værdi til hver eneste page i dit recordset.
Avatar billede avlund Nybegynder
03. september 2002 - 14:38 #7
Eagleeye: korrekt, og så alligevel ikke. De lægger sig i hukommelsen, og siden Windows stadig langtfra har en optimal memory manager (se på f.eks. Novell Netware el.lign. for eksempler på OS'er, der er langt mere avancerede på det punkt), vil der uværgerligt på sigt komme artifacts i hukommelsen. Uanset hvad du gør, vil overdreven brug af session kræve flere servergenstart og forringet hastighed i forhold til at klare det med HTTP.
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
Kategori
Kurser inden for grundlæggende programmering

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