Pour une raison quelconque, vous ne pouvez pas utiliser un standard asp: RadioButton et utiliser javascript pour s'assurer qu'il est mutuellement exclusif. Je l'ai déjà fait en ajoutant un attribut personnalisé au radiobutton, puis en utilisant une fonction js pour décocher tous les éléments avec cet attribut et ensuite cocher la case sélectionnée. Cela fonctionne autour du problème IE qui empêche l'attribut groupname de travailler sur les radioboxs qui se trouvent dans des conteneurs différents.
radioButton.InputAttributes.Add("ClientGroupName", "grpRadioList");
radioButton.InputAttributes.Add("onclick",
string.Format(
"javascript:radiobuttonToggle('{0}','ClientGroupName','grpRadioList');"
,radioButton.ClientID));
et utiliser la JS suivante pour décocher toutes les radios et vérifiez celui que vous voulez. Remarque i utilisé à la place d'attributs InputAttributes que le bouton radio est enveloppé dans une balise span si InputAttributes est pour les éléments ajoutés à la commande d'entrée réelle au lieu de la travée.
function radiobuttonToggle(selectedRB, attribName, attribValue)
{
var objRadio = document.getElementById(selectedRB);
for(i = 0; i < document.forms[0].elements.length; i++)
{
elm = document.forms[0].elements[i];
if (elm.type == 'radio')
{
if(elm.getAttribute(attribName) == attribValue)
elm.checked = false;
}
}
objRadio.checked = true;
}
Vous pouvez ensuite exposer radioButton.Checked comme propriété dans votre fichier CS et réutiliser ceci comme contrôle.
Sur le client ou sur le serveur? – Josh
Je suppose que le serveur depuis "publication" a été mentionné – gn22
après une partie du code. – Saar