Le moyen le plus simple serait d'utiliser JavaScript pour modifier le contenu de la zone de texte.
<script language="javascript">
var c1 = document.getElementById('<%=myCheckBox1.ClientID%>');
var c2 = document.getElementById('<%=myCheckBox2.ClientID%>');
var c3 = document.getElementById('<%=myCheckBox3.ClientID%>');
var t = document.getElementById('<%=myTextBox.ClientID%>');
function setTextBox()
{
if(c1.checked) t.value = "1";
if(c2.checked) t.length > 0 ? ",2" : "2";
if(c3.checked) t.length > 0 ? ",3" : "3";
}
</script>
Ensuite, pour vos cases à cocher ajouter l'extrait suivant:
onClientClick="setTextBox()"
EDIT: Si vous choisissez d'utiliser jquery, une partie de ce code peut probablement être réduit/simplifié. Si vous avez besoin de rendre la logique de ce qui s'affiche un peu plus compliqué (comme changer la valeur de la zone de texte lorsque 1 et 2 sont cliqués mais que 3 ne l'est pas, etc.) cela peut être accompli avec JavaScript dans setTextBox()
.
Dupliquer des questions par le même utilisateur: http://stackoverflow.com/questions/4091208/checkbox-selected-values-in-comma-sepearted-string-in-textbox-using-vb-net, http: // stackoverflow.com/questions/4130800/insert-checkbox-checked-value-when-checked-to-textbox-as-comma-seperated-string, et http://stackoverflow.com/questions/4127492/vb-net-add -checkbox-checked-values-to-textbox-closed - en plus de beaucoup, beaucoup d'autres. – jwiscarson