J'ai créé une classe qui hérite de RadioButtonList afin d'ajouter un attribut GroupName à chaque élément de liste. (pourquoi ce n'était pas là déjà je n'ai aucune idée).Ajout de GroupName aux éléments dans RadioButtonList
Cela fonctionne comme prévu lors de son rendu, mais ne conserve pas les éléments sélectionnés lors de la publication.
public class GroupedRadioButtonList : RadioButtonList
{
[Bindable(true), Description("GroupName for all radio buttons in list.")]
public string GroupName
{
get;
set;
}
protected override void RenderItem(ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo, System.Web.UI.HtmlTextWriter writer)
{
RadioButton radioButton = new RadioButton();
radioButton.Page = this.Page;
radioButton.GroupName = this.GroupName;
radioButton.ID = this.ClientID + "_" + repeatIndex.ToString();
radioButton.Text = this.Items[repeatIndex].Text;
radioButton.Attributes["value"] = this.Items[repeatIndex].Value;
radioButton.Checked = this.Items[repeatIndex].Selected;
radioButton.TextAlign = this.TextAlign;
radioButton.AutoPostBack = this.AutoPostBack;
radioButton.TabIndex = this.TabIndex;
radioButton.Enabled = this.Enabled;
radioButton.RenderControl(writer);
}
}
Est-ce que quelqu'un sait ce que je suis absent?
Merci.
Merci! Je vais essayer. J'ai maintenant remplacé RenderContents à la place et l'ai fait fonctionner, mais cela semble plus propre. – Craig
2 ans après et j'ai le même problème. J'utilise exactement le même code que @Craig mais quand je mets 'radioButton.GroupName = this.GroupName;' 'LoadPostData' ne se déclenche jamais. Il ne se déclenche que si 'radioButton.GroupName = this.UniqueID;'. Des idées?? – GFoley83