/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
indsæt i tekstfelter fra database
Fra : Mark


Dato : 21-12-06 12:23

hej
Har nogle felter som skal udfyldes med noget tekst trukket ud fra en
database, men kan ikke få den til det.
troede først man kunne gøre det sådan her :

Request.form("navn") = RSconn("navn_")
men det virker ikke

og det må ikke være på denne her måde:
<input name="navn" size="8" maxlength="10" value="<%= RSconn("navn_") %>">


Er der en anden måde at gøre det på??



 
 
Jens Gyldenkærne Cla~ (21-12-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-12-06 13:10

Mark skrev:

> troede først man kunne gøre det sådan her :
>
> Request.form("navn") = RSconn("navn_")

Den går ikke - du kan ikke tildele en værdi til Request-objektet
(den henter værdierne fra browseren/klienten).


> og det må ikke være på denne her måde:
> <input name="navn" size="8" maxlength="10" value="<%=
> RSconn("navn_") %>">

Hvorfor ikke?

Bortset fra at du for en sikkerheds skyld bør benytte
Server.HTMLencode, ser den fin ud.

Du kan også benytte en mellemliggende variabel:

Dim navn
navn = Request.Form("navn")

<input name="navn" size="8" value="<%= Server.HTMLencode(navn) %>">


> Er der en anden måde at gøre det på??

Du kan selvfølgelig også udskrive html-koden med response.write
hvis det er bedre for dig:

Response.write "<input name=""navn"" size=""8"" value=""" & _
   Server.HTMLencode(navn) & """>"
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Mark (21-12-2006)
Kommentar
Fra : Mark


Dato : 21-12-06 13:48


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns98A085FF516F2jcdmfdk@gyrosmod.dtext.news.tele.dk...
> Mark skrev:
>
>> troede først man kunne gøre det sådan her :
>>
>> Request.form("navn") = RSconn("navn_")
>
> Den går ikke - du kan ikke tildele en værdi til Request-objektet
> (den henter værdierne fra browseren/klienten).
>
>
>> og det må ikke være på denne her måde:
>> <input name="navn" size="8" maxlength="10" value="<%=
>> RSconn("navn_") %>">
>
> Hvorfor ikke?

fordi det skal laves så dynamik som muligt, hvis jeg skal tilføje flere
felter uden at skulel skrive vildt meget asp


>
> Bortset fra at du for en sikkerheds skyld bør benytte
> Server.HTMLencode, ser den fin ud.
>
> Du kan også benytte en mellemliggende variabel:
>
> Dim navn
> navn = Request.Form("navn")
>
> <input name="navn" size="8" value="<%= Server.HTMLencode(navn) %>">
>
>
>> Er der en anden måde at gøre det på??
>
> Du kan selvfølgelig også udskrive html-koden med response.write
> hvis det er bedre for dig:
>
> Response.write "<input name=""navn"" size=""8"" value=""" & _
> Server.HTMLencode(navn) & """>"
> --

den måde tænkte jeg også på.. men har 75 felter hvis ikke mere der skal
udfyldes og det kan være der kommer flere med tiden, og så er det noget lort
at skulle rette i..

bagefter ville jeg så i stedet lave det sådan her
dim count
count = 1

Do While not sConn.EOF
strNavn & count = rsConn("navn_");
count = count + 1
sConn.moveNext
loop

men det ser heller ikke ud til at virke...
kan man gøre det lidt anderledes så man dynamisk opretter
strnavn1, strnavn2 strnavn3......osv

via en løkke?




> Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
> eller Brønshøj, max 6000 pr. måned.
> Kontakt pr. mail - nospam(at)gyros.dk
> Jens Gyldenkærne Clausen



Jens Gyldenkærne Cla~ (21-12-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-12-06 13:54

Mark skrev:

> den måde tænkte jeg også på.. men har 75 felter hvis ikke mere
> der skal udfyldes og det kan være der kommer flere med tiden,
> og så er det noget lort at skulle rette i..

Du kan jo godt automatisere udskrivningen af et felt:

Function printInput(navn, size)
   printInput = "<input type=""text"" name=""" & _
       navn & """ value=""" & _
       Server.HTMLencode(Request.Form(navn)) & """>"
End Function

- så kan du aflæse dine navne fra fx en database og så bruge
funktionen til at udskrive input-felt inkl. værdi i ét hug.

Men hvis du for alvor skal lege med mange felter og
tilstandshåndtering (genudfyldning af felterne ved post), skulle du
måske kigge på asp.net. Her er håndteringen af værdier indbygget i
serverkontrollerne (der afløser normale input-elementer i en std.
form).


> Do While not sConn.EOF

Sidespring - sConn leder tankerne hen på en connection - men du
bruger den som et postsæt (recordsæt). ASP-parseren er selvfølgelig
ligeglad, men det kan være en god ide at sørge for at bruge navne
der svarer til indholdet (altså fx rs, objRs, rsFelter)

> strNavn & count = rsConn("navn_");

Du kan ikke lave dynamiske variable på denne måde. Hvis du har brug
for en række af variable kan du i stedet benytte et array:

aNavne(count) = rs("navn")


En anden mulighed er at benytte Dictionary-objektet, hvor du kan
gemme navn/værdi-par ad lib:

objDict.Add rs("navn"), Request.Form(rs("navn"))


NB: Du må gerne klippe lidt i dine citater.
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Mark (21-12-2006)
Kommentar
Fra : Mark


Dato : 21-12-06 14:26

> Du kan jo godt automatisere udskrivningen af et felt:
>
> Function printInput(navn, size)
> printInput = "<input type=""text"" name=""" & _
> navn & """ value=""" & _
> Server.HTMLencode(Request.Form(navn)) & """>"
> End Function
>
> - så kan du aflæse dine navne fra fx en database og så bruge
> funktionen til at udskrive input-felt inkl. værdi i ét hug.
>
> Men hvis du for alvor skal lege med mange felter og
> tilstandshåndtering (genudfyldning af felterne ved post), skulle du
> måske kigge på asp.net. Her er håndteringen af værdier indbygget i
> serverkontrollerne (der afløser normale input-elementer i en std.
> form).
>

Jeg arbejder med ASP.NET og C# som programmeringssporg til hverdag, så det
er jeg ret godt inde i

Har ikke arbejdet så meget med ASP, så det er jeg ret ny i..
Jeg sidder og retter i noget eksisterende asp, så derfor er det ikke lige
til at ændre til asp.net selv om jeg MEGET gerne ville.

>
>> Do While not sConn.EOF
>

Beklager "sConn" skal være "rsConn", det er mig der har lavet en stavefejl
(i det oprindelige programmering hedder den oprindelig rsDetails)
Men efter som jeg ikke kan paste hele koden har jeg lavet et lille eksempel
som viser i bund og grund det som jeg gerne vil gøre med mit ASP og for at
koge mine problemer ned så de er til at overskue.

> Du kan ikke lave dynamiske variable på denne måde. Hvis du har brug
> for en række af variable kan du i stedet benytte et array:
>
> aNavne(count) = rs("navn")

Selvfølgelig det med et array havde jeg ikke lige tænkt på
Det vil jeg kikke nærmere på
takker :)



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste