Avatar billede sunezapa Nybegynder
04. september 2002 - 20:56 Der er 5 kommentarer og
1 løsning

Grouping Radio-buttons og set CHECKED

Radio-buttons som er RUNAT=SERVER kan IKKE bindes til et fælles "groupName", hvis de ligger inde i en repeater, datalist eller datagrid.
Surt nok, men en løsning er at bruge alm. INPUT TYPE=RADIO, og requeste værdi herfra eller lign. OK.

Problem: Hvordan kan jeg tildele "CHECKED"-værdi til en af disse INPUT TYPE=RADIO's ???

Jeg har (naivt) forsøgt med "if session("KundeID")=container.dataitem("kundeID") "
inspireret af den fungerende "<%#container.dataitem("kundeID")%>" - men det duer jo ikke. :-(
Avatar billede odegaard Nybegynder
05. september 2002 - 01:26 #1
Du skal binde værdierne inde i OnBind-funktionen på dine repeatere/datalists/datagrids.
Avatar billede sunezapa Nybegynder
05. september 2002 - 09:50 #2
øhhh - virker onBind på et HTML-INPUT som IKKE kører på serveren (ikke med RUNAT=SERVER) ?  har du evt. en lille kodestump som eksempel på hvad der står i item-templaten?
Avatar billede sunezapa Nybegynder
05. september 2002 - 09:51 #3
PS. er på vej på 6dagestur til Firenze (der er nogen der gifter sig...), så jeg vender nysgerrig tilbage på onsdag...)
Avatar billede odegaard Nybegynder
05. september 2002 - 13:23 #4
Det kan jeg ikke se hvorfor man ikke skulle kunne.
Smid en radio-button ind i en repeater. I repeaterens onbind kan du så sætte deres værdier som checked/ikke checked.
Når du poster, må du ligeledes på samme måde, kunne loope repeateren igennem, og hente radiobutton'ernes checked-værdi.
Det er ikke forsøgt, men det skal sgu virke.
Avatar billede sunezapa Nybegynder
10. september 2002 - 23:09 #5
Sørgeligt, men sandt: RadioButtons virker IKKE i repeaters, mv. (se spørgsmålet igen).
Det er fordi .NET's navnekonvention navngiver RadioButtons i en repeater forløbende - og derved bliver hver enkelt Radio en enkeltstående radio, istedet for en Radio som hører til en gruppe.
Spørgsmålet går på hvad man SÅ kan gøre - altså f.eks. hvordan den "gamle" ASP-måde at tildele CHECKED til en enkelt radio kan gøres ?

PS. det er ikke nødvendigt at loope for at hente Radio-værdien, det kan gøres "direkte" ved en enkelt request...

PPS. her er dok. vedr. at radiobuttons ikke virker:
"Wayne King [MS] [@online.microsoft.com]
This is a known issue.
To workaround, you might try using an HtmlInputRadioButton, instead:
<input type=radio runat=server id="YourID" name="group">
or, even not use a server-side control at all:
<input type=radio> -Wayne King, This posting is provided "AS IS" with no warranties, and confers no rights."
Jeg kan tilføje at hans forslag med HtmlInputRadioButton heller ikke virker, - det gør kun plain "<INPUT type=radio" (uden "RUNAT=SERVER").
Og problemet er gældende både i Repeaters, Datagrid's og i Datalist's.

Her er links til mere info om radiobuttons-problemet, hvis du vil se mere::
http://www.dotnet247.com/247reference/msgs/10/54607.aspx  og

http://groups.google.com/groups?hl=da&lr=&ie=UTF-8&newwindow=1&threadm=O5kKmSDCCHA.1576%40tkmsftngp04&rnum=2&prev=/groups%3Fq%3DINPUT%2Btype%253D%2522radio%2522%2Brunat%253D%2522server%2522%2Bdatalist%26hl%3Dda%26lr%3D%26ie%3DUTF-8%26newwindow%3D1%26selm%3DO5kKmSDCCHA.1576%2540tkmsftngp04%26rnum%3D2
Avatar billede sunezapa Nybegynder
16. september 2002 - 17:10 #6
Her er en løsning (der er flere).
  linien i itemTemplate:
<INPUT <%# regex.replace(regex.match(container.dataitem("kundeID"),"^" & session("DefaultKundeID") & "\z").tostring(),"\A\d+\z","CHECKED") %>
type="radio" etc.....>
der bruges regex.match til at finde en match på en sessionvariabel, og derefter en regex.replace til at erstattet matchen med teksten "CHECKED".

et alternativ kan være at undgå .NET Datalist og lave sin egen datalist (for each...etc.).
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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