Må jeg bede om din hjælp en gang mere: Jeg er nemlig en amatør til det her så :-)
Denne streng:
if (rs("bookid") = "") OR IsNull(rs("bookid")) OR IsEmpty(rs("bookid")) then Response.Redirect "href="showmapudenbooking.asp?id=<%=id%>""
Ender med denne fejl:
if (rs("bookid") = "") OR IsNull(rs("bookid")) OR IsEmpty(rs("bookid")) then Response.Redirect "href="showmapudenbooking.asp?id=<%=id ------------------------------------------------------------------------------------------------------^
if (rs("bookid") = "") OR IsNull(rs("bookid")) OR IsEmpty(rs("bookid")) then Response.Redirect "showmapudenbooking.asp?id=<%=id -------------------------------------------------------------------------------------------------------------------------------^
Men er problemet ikke nu noget omkring: ?id=<%=id%>"
Som erikjacobsen skriver så har href= ikke noget at gøre i din kode.
Brug:
if (rs("bookid") = "") OR IsNull(rs("bookid")) OR IsEmpty(rs("bookid")) then Response.Redirect "showmapudenbooking.asp?id=" & id
Du må ikke bruge <%= %> rundt om din id variabel, da du allerede er inde i en <% %> blok.
Og så bør du omskrive din (rs("bookid") = "") OR IsNull(rs("bookid")) OR IsEmpty(rs("bookid")) blok til en funktion, så skal du ikke skrive så meget når du skal teste andre variabler og din kode bliver nemmere at læse, når du skal lave et eller andet om om nogle måneder/år.
f.eks. som her:
Public Function IsEmptyIsNull(S) if (S = "") OR (IsEmpty(S) = True) OR (IsNull(S) = True) then IsEmptyIsNull = True else IsEmptyIsNull = False end if End Function
Ved at bruge funktionen her, kan du skrive følgende:
if IsEmptyIsNull(rs("bookid")) Then Response.Redirect("showmapudenbooking.asp?id=" & id)
På den måde sparer du at skrive rs("bookid")) 3 gange med mulighed for skrivefejl.
Det er meget svært at hjælpe dig, når man ikke har adgang til den kode som du bruger til at kalde siden med dataopslaget.
Og så skal du nok bruge lidt tid på at fejlhåndtere. I dette tilfælde skal du INDEN du begynder at opbygge dit query tjekke om id er et gyldigt tal. Og hvis ikke, så skal du sørge for at der vises en fejlmeddelelse og en mulighed for at komme tilbage.
strSQL = "Select * from hotelopl Where id =" & id Set rs=Conn.Execute(strSQL)
if (rs("bookid") = "") OR IsNull(rs("bookid")) OR IsEmpty(rs("bookid")) then Response.Redirect "showmapudenbooking.asp?id=" & id
%>
<% DO WHILE NOT rs.EOF
id = rs("id") %>
Jeg ved ikke hvorfor du henter id fra recorden, den kender du jo allerede, og da du udvælger en record med en unik id, så vil der max, være 1 record. ;-)
Som den amatør jeg er, er det her hvad jeg ville opnå:
Jeg har en side hvor man kan vælge at se et kort, men hvis man vælger en record hvor der er en værdi i "bookid" skal man til en side og hvis værdien er tom skal man til en anden side, og dette var hvad jeg kunne finde ud af.
Nils, alle er jo startet som amatør og den eneste måde at lære på er ved at forsøge, så bare klø på.
- Kim.
Synes godt om
Ny brugerNybegynder
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.