Dynamiske Radioknapper i ASP.NET

Tags:    asp.net

Hey

Jeg skal lave en liste af radioknapper i ASP.net, men problemet er at listen skal se ud på en helt bestemt måde, og jeg ved aldrig hvor mange der er. Det er ganske simpelt at lave en stak radioknapper statisk på en HTML side, og så få adgang til dem i koden bagefter:

<form runat=server>
<asp:RadioButton id="Radio1" GroupName="Group1" Text="1" runat="server"/>
<asp:RadioButton id="Radio2" GroupName="Group1" Text="2" runat="server"/>
<asp:RadioButton id="Radio3" GroupName="Group1" Text="3" runat="server"/>
<asp:RadioButton id="Radio4" GroupName="Group1" Text="4" runat="server"/>
</form>

På siden er disse radioknapper nu grupperet, og når jeg klikker på en af dem virker de som normale radioknapper.

Men hvad hvis jeg skal lave en liste af disse dynamisk, fx vha. en Repeater kontrol?

Jeg har forsøgt at lave det med en Repeater, men så virker knapperne ikke som de skal. Når jeg klikker på en af radioknapperne afmarkeres de andre ikke. Knapperne placeres altså ikke i den samme gruppe når de skrives ud via Repeateren.

<asp:Repeater id=rptRadios runat="server">
<ItemTemplate>
<table>
<tr>
<td><asp:RadioButton id=rabRadio runat="server" GroupName="Group1"></asp:RadioButton></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>

Hvad gør jeg forkert


Trekster
www.trekster.dk - www.filmz.dk



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Er der nogen speciel grund til at det skal være asp.net radio buttons og ikke almindelige html radio buttons ? Med mindre du naturligvis vil bruge auto-postback

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Trekster:

Jeg har undersøgt problemet lidt...

Problemet er at i HTML identificeres Radioknapper gennem "name" attributten men System.Web.UI.Webcontrols.RadioButton controleren tilknytter "name" til Radiobutton.UniqueID + Gruppenavns egenskaben. Og da UniqueID skifter for hver unique række der er i Repeateren(eller datalist eller datagrid), ser browseren ikke radioknapperne som én gruppe...

Lidt kringlet...

Men andy smith har lavet en løsning på :
http://www.metabuilders.com/Tools/GlobalRadioButton.aspx

Ret genial i mine øjne, det virker fint, men jeg håber du benytter VS, så kan du direkte hente hans kode ind i dit projekt..

Håber du får det til at virke

Med venlig hilsen
/Jokke Jensen
www.jj-multimediedesign.dk



Hvad siger den gode gamle "vis kilde" ?



t