22. marts 2005 - 19:51Der er
28 kommentarer og 1 løsning
Server.execute problemer
Hej Eksperter
Jeg har et lille problem med min server.execute funktion.
Jeg laver et loop af nogle afsnit fra min tabel, som hver skal bruge sin individuelle template-fil.
Første del af koden er her: ------------------------------------------------------------------ <% Set rs_paragraph = Server.CreateObject("ADODB.RecordSet") rs_paragraph.open "Select * From [Paragraph] where Page_Id = " & request.QueryString("Id") & " AND Active = '1'" , Conn Do while not rs_paragraph.EOF
Set rs_templates = Server.CreateObject("ADODB.RecordSet") rs_templates.open "Select * From [Templates] where Id = " & rs_paragraph("Template") & "" , Conn Template_Url = rs_templates("Template_Url")
Problemet er at det første afsnit som bliver loopet, skal eks. bruge template1.asp - det næste afsnit skal bruge template3.asp osv...
Hvordan henter jeg i template filerne, afsnittets id nummer?
Jeg har forsøgt at sende det med i execute funktionen men så skriver den: ------------------------------------------------------------------ Server object error 'ASP 0231 : 80004005'
Server.Execute Error
/userfiles/demo/templates/page_template.asp, line 12
Invalid URL form or fully-qualified absolute URL was used. Use relative URLs. ------------------------------------------------------------------
Hvordan får jeg fat i det ID nummer som jeg looper???
Mener kun at ASP tillader hele filnavne dvs alt efter .asp vil den ikke kunne "forstå" mener jeg har en løsning på det et eller andet sted leder lige..
der er mange forskellige templatefiler, og det kan være forskelligt fra loop til loop, så den skal være dynamisk, og ikke statisk som include-file er :o(
<% Set rs_paragraph = Server.CreateObject("ADODB.RecordSet") rs_paragraph.open "Select * From [Paragraph] where Page_Id = " & request.QueryString("Id") & " AND Active = '1'" , Conn Do while not rs_paragraph.EOF
Set rs_templates = Server.CreateObject("ADODB.RecordSet") rs_templates.open "Select * From [Templates] where Id = " & rs_paragraph("Template") & "" , Conn Template_Url = rs_templates("Template_Url")
Den eneste måde du kan overføre variabler til en server.execute er ved at putte dem i en session variabel. Det er nok ikke det smarteste og hurtigste system, men, ok, ASP er ret primitiv, så der er nok ikke andet at gøre.
Jeg har selv tænkt på at gøre det med en session - MEn kan jeg så smide den ind i en hidden form, så den ikke forsvinder efter 20 minuter med inaktivitet ?
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.