asp RadioButtonList labels niet klikbaar maken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • dominicr
  • Registratie: Maart 2008
  • Laatst online: 12-11-2020
Hallo

Ik heb een RadioButtonList met daarin een aantal ListItems.
Nu wordt er voor ieder ListItem uiteraard een label gemaakt, met een property 'for' verwijzend naar de radio button.

Ik wil graag een label zonder deze property, dus

<asp:RadioButtonList runat="server">
<asp:ListItem Text="Item1" />
<asp:ListItem Text="Item2" />
</asp:RadioButtonList>


vertaald naar

<input id="ctl01_0" type="radio" name="ctl01" value="Item1" /><label>Item1</label>
<input id="ctl01_1" type="radio" name="ctl01" value="Item2" /><label>Item2</label>


Dit zodat de geselecteerde button niet veranderd als je op een label klikt maar enkel op de button zelf.
Is dit mogelijk ?

Acties:
  • 0 Henk 'm!

  • Canaria
  • Registratie: Oktober 2001
  • Niet online

Canaria

4313-3581-4704

Ja, door een custom webcontrol te maken waarin je de Render-method van de ListItems overridet.
Overigens zou ik het usability-oogpunt niet doen.

Apparticle SharePoint | Apps | Articles


Acties:
  • 0 Henk 'm!

  • dominicr
  • Registratie: Maart 2008
  • Laatst online: 12-11-2020
Bedankt voor je tip Canaria
Ik vond het ook maar niks maar de baas bepaalt.

Overigens, de 'oplossing':

namespace CustomControls
{
public class DominicRadioButtonListNoLabelFor : System.Web.UI.WebControls.RadioButtonList
{
protected override void Render(HtmlTextWriter writer)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
base.Render(htw);
string s = sw.ToString();
string Fixed = Regex.Replace(s, "<label for=\"(.*)\">", "<label>");
writer.Write(Fixed);

}
}

}

Fijne avond nog
Dominic Rooijackers