CheckBoxList .NET: validazione e lettura degli elementi selezionati via javascript

Data l’esigenza di utilizzare una checkboxlist .net di seguito alcuni esempi per poter validare in modo custo il controllo e per prendere gli elementi selezionati via javascript.

Inserire gli item lato server in una checkboxlist:

chkboxlist.Items.Add(New ListItem("descrizione item", "10"))

Validare il controllo con un custom validator:

<asp:CustomValidator runat="server" ID="valchk"  ClientValidationFunction="ValidateModuleList">Occorre selezionare almeno un elemento</asp:CustomValidator>
<script>
function ValidateModuleList(source, args) {
     var chkListModules = document.getElementById('<%= chkboxlist.ClientID%>');
     var chkListinputs = chkListModules.getElementsByTagName("input");
     for (var i = 0; i < chkListinputs.length; i++) {
            if (chkListinputs[i].checked) {
               args.IsValid = true;
               return;
            }
      }
       args.IsValid = false;
}
</script>

Prendere il testo degli item selezionati:

function GetCheckBoxListValues() {
        var chkBox = document.getElementById('<%=chkboxlist.ClientID %>');
        var options = chkBox.getElementsByTagName('input');
        var res = '';
        var listOfLabels = chkBox.getElementsByTagName('label');
        for (var i = 0; i < options.length; i++) {
            if (options[i].checked) {
                res += listOfLabels[i].innerHTML +"; "
            }
        }
        return res;
    }