2010-02-02 7 views
1

J'ai un projet sur lequel je travaille où je dois placer un RadioButton dans ListView, et avoir tous les mêmes GroupName. (ne peut pas utiliser RadioButtonList, longue histoire).RadioButtons, ListViews et Grouping, oh mon!

Quoi qu'il en soit, cela semble être un bug bien connu dans .NET, donc je l'ai mis en œuvre la solution trouvée ici:
ASP.NET RadioButton messing with the name (groupname)

Cela fonctionne parfaitement, mais avec un petit bug qui viendra sans aucun doute revenir à mords moi. Si je clique sur un bouton radio, puis cliquez sur un autre alors que la fonction javascript est toujours en cours d'exécution et n'a pas terminé; Je peux obtenir 2 radiobuttons dans le même groupe sélectionné.

Des idées? Si vous avez besoin de clarification laissez-moi un commentaire et je mettrai à jour mon message.

EDIT: Je crois avoir corrigé mon propre problème ici. Voir ma réponse affichée ci-dessous.

Répondre

1

Il s'avère que j'étais égaré ici.

Plus tard dans le cycle de vie de la page; J'ajoutais un événement onclick supplémentaire qui écrasait la valeur précédente.

Dans l'exemple suivant:

var radiobutton = new System.Web.UI.WebControls.RadioButton(); 
radiobutton.Attributes.Add("onclick", "test1"); 
radiobutton.Attributes.Add("onclick", "test2"); 

l'attribut onlcick est réglé sur "test2"; test1 est perdu. J'ai fini par le réparer en ajoutant à l'attribut existant; voir ci-dessous:

radiobutton.Attributes["onclick"] = string.Format("{0};{1}", radiobutton.Attributes["onclick"], "My Second Script"); 

Cela fonctionne sans problème.

1

Quelque chose comme ceci fonctionnerait? J'avoue que je n'ai pas fait beaucoup de recherches, mais c'est comme ça que j'ai résolu ce type de problème.