Avatar billede phuc69 Juniormester
22. april 2004 - 15:03 Der er 16 kommentarer og
2 løsninger

Hvor går det galt

Jeg har et meget mærkeligt problem. Jeg har følgende 2 sider.

------------------side1----------------------------
<html>
<title>Film detaljer</title>
<head>
</head>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN
strSQL = "Select * from Frames where Id=1"
Set rs = Conn.Execute(strSQL)


response.write "<frameset cols='50%,50%'>"
response.write "<frame src='" & rs("frame1") & "'>"
response.write "<frame src='" & rs("frame2") & "'>"
response.write "</frameset>"

%>
</html>

-------------------------side2--------------------------------
<html>
<title>Film detaljer</title>
<head>
</head>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN
strSQL = "Select * from Frames WHERE Id="& Request.Querystring("id")
Set rs = Conn.Execute(strSQL)
response.write "<h1>" & rs("frame1") & "</h1>"  ---Her skriver den hvad der står i feltet.-------------

response.write "<frameset cols='50%,50%'>"
response.write "<frame src='" & rs("frame1") & "'>"
response.write "<frame src='" & rs("frame2") & "'>"
response.write "</frameset>"
%>
</html>

Som der kan ses er de 2 koder næsten ens. Den enste forskel er at på side 2 henter jeg id nummer ved hjælp af Request.Querystring. Den henter også den rigtig variabel den skriver den i h1 tagget. Hvor gåt det galt.
Avatar billede fennec Nybegynder
22. april 2004 - 15:13 #1
Hvad er problemet. Kommer der ikke noget ud efter response.write "<h1>" & rs("frame1") & "</h1>"???
Avatar billede phuc69 Juniormester
22. april 2004 - 15:22 #2
nej det gør der ikke. Men den skriver den rigtig værdi fra databasen der. Jeg vil derfor konkluderer at den slår rigtig op. Jeg har indsat linjen for at se om den finder noget. det eneste der forskel fra side 1 til 2 er at den skal hente variablen i urlen
Avatar billede nute Nybegynder
22. april 2004 - 15:22 #3
læs specifikationen for HTML:

<snip>
Elements that might normally be placed in the BODY element must not appear before the first FRAMESET element or the FRAMESET will be ignored.
</snip>

;o]
Avatar billede phuc69 Juniormester
22. april 2004 - 15:24 #4
nute hvis jeg sletter h1 ændre det ikke noget. :-)
Avatar billede phuc69 Juniormester
22. april 2004 - 15:25 #5
Nute sorry troede helt bestemt at jeg havde skrvet det uden først
Avatar billede phuc69 Juniormester
22. april 2004 - 15:25 #6
Det virker nu underligt smid et svar
Avatar billede nute Nybegynder
22. april 2004 - 15:29 #7
smid et svar selv og giv mig 15 ... dette er ikke et 60 points spm

:o]
Avatar billede phuc69 Juniormester
22. april 2004 - 15:30 #8
Svar
Avatar billede phuc69 Juniormester
22. april 2004 - 15:30 #9
Nute hvor har du snippet fra
Avatar billede nute Nybegynder
22. april 2004 - 15:33 #10
- takker -

jeg har snippet fra HTML4 spec'en ;o]

http://www.w3.org/TR/html401/present/frames.html#h-16.2

sidste linie inden "16.2.1 The FRAMESET element"

/nute
Avatar billede steen_hansen Forsker
22. april 2004 - 15:37 #11
Inskudt kommentar: Jeg prøver for så vidt muligt, at holde HTML og VB-scripting for sig. Det giver et helt andet overblik:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN
strSQL = "Select * from Frames where Id=1"
Set rs = Conn.Execute(strSQL)
%>

<frameset cols="50%,50%">
<frame src="<%=RS("frame1")%>">
<frame src="<%=RS("frame2")%>">
</frameset>

... men det er jo nok et temperamentsspørgsmål :o)
Avatar billede nute Nybegynder
22. april 2004 - 15:39 #12
*har det samme temperament som steen_hansen*
Avatar billede phuc69 Juniormester
22. april 2004 - 19:56 #13
Jeg er ny inden for asp. er der nogen fordel ved jeres metode
Avatar billede steen_hansen Forsker
22. april 2004 - 21:17 #14
Koden fylder mindre. Du slipper for alle dine Response.Write's. Det er mere overskueligt. MÅSKE ville du have set fejlen, hvis du havde holdt tingene adskilt. Jeg synes der er mange ting at hente ved at holde det adskilt. Fremfor alt overblikket. Mange af de ting man laver, bliver lavet, så visse principper bliver overholdt. Måske nute kan komme med nogle vægtige argumenter? Han er en haj til det her :o)
Avatar billede nute Nybegynder
23. april 2004 - 09:46 #15
steen_hansen >> nuvel ... blot en lille rov-fisk ;o]

phuc69 >> Som steen_hansen er inde på, så er overskuelighed det bedste argument for at lade asp gøre det arbejde som asp er skabt til: scripting. det er ikke meningen, når man laver en side i asp, php, jsp eller hvad andet man nu har, at man laver *alt* i dét script-sprog man benytter. At benytte Response.Write til at skrive ud ren HTML er, i mine øjne, ren galskab, for sandsynligheden for fejl er meget større - mest på grund af doble gåseøjne, men også fordi man ikke har mulighed for at formattere HTML inde i Response.Write, på samme måde som i ren "HTML mode". Hvis man skal til at debugge tabeller, fx. efter manglende td'er, så er dette et irriterende arbejde, når man skal kigge response.writes igennem. alternativt er man nødt til at køre siden inden man kan finde fejlen, men hvis man så laver en anden logisk fejl (som gør at asp fejler, og output ikke bliver vist), så får man ikke se sin HTML kode. Har man derimod adskilt asp og HTML, så kan man *meget* hurtig finde fejl i sin HTML, på samme tid som at man meget hurtigere kan spotte logiske fejl i sin asp, siden HTML og asp ikke længer flyder over i hinandnen.

De eneste gange jeg benytter REsponse.Write for at skrive ud html, er inde i loops hvor jeg fx skal skrive ud tabelceller.

Man skal også passe på at man ikke skifter *for* meget mellem HTML-mode og asp-mode. Det krever selvfølgelig mere af serveren, da den skal hele tiden skal bruge kraft på at spotte script-blokke og processere disse. Det bedste verktøj er alligevel, uden tvivl: sund fornuft.

Brug asp til de ting det er skabt til: operationer, kalkulationer og andre dynamiske funktioner, og adskil dette fra HTML. Din debugging vil være meget mere hurtig og du vil få meget mindre fejl i din kode.

/nute
Avatar billede steen_hansen Forsker
23. april 2004 - 10:29 #16
Flot :o)
Avatar billede phuc69 Juniormester
24. april 2004 - 11:04 #17
kanon tak for svar
Avatar billede nute Nybegynder
24. april 2004 - 13:06 #18
du får korrekt svar, og snupper pointsene selv ?? er dét særlig solidarisk ?
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