Je me suis basé sur un modèle de contrôle (répéteur) inscription du texte et d'autres marques. Chaque élément dispose d'un bouton radio associé, ce qui permet à l'utilisateur de sélectionner l'UN des éléments créés par le répéteur.
Le répéteur écrit le radiobutton réglage de son nom et l'identifiant généré par défaut ASP.NET la convention de nommage de la fabrication de chaque composant radiobutton complet d'un 'groupe'. Cela signifie que tous les composants radiobutton sont indépendants les uns des autres, qui, là encore, malheureusement, je peux sélectionner tous les composants radiobutton dans le même temps. Le radiobutton a l'habile attribut "groupname" utilisé pour définir un nom commun, de sorte qu'ils sont regroupés, et devrait donc être à charge (donc je ne peut sélectionner qu'une seule à la fois). Le problème est - ce qui ne fonctionne pas - le répéteur permet de s'assurer que l'id et le nom (qui contrôle le groupement) sont différentes.
Depuis que j'ai utiliser un répéteur (qui pourrait avoir été une listview ou de tout autre basées sur des modèles de contrôle lié aux données) je ne peux pas utiliser le RadioButtonList. D'où vient donc que de me laisser?
Je sais que j'ai eu ce problème avant et résolu. Je sais que presque tous les ASP.NET programmeur doit en avoir trop, alors pourquoi ne puis-je pas google et de trouver une solution solide pour le problème? Je suis tombé sur les solutions à appliquer le regroupement par JavaScript (laid!) ou même pour gérer les composants radiobutton non-contrôles serveur, m'obligeant à faire un Request.Form[name]
pour lire l'état. J'ai aussi essayé d'expérimenter avec des raisons impérieuses le nom de l'attribut dans l' PreRender
cas - malheureusement, le propriétaire de la page et masterpage nouveau remplace ce nom afin de refléter la pleine id/nom, donc je me retrouve avec le même mauvais résultat.
Si vous n'avez pas de meilleure solution que ce que j'ai posté, vous êtes toujours les bienvenus pour poster vos pensées - au moins je saurai que mon ami "jack" est à droite sur la façon foiré ASP.NET est parfois ;)