2011-09-01 1 views

Répondre

6

Vous devez vérifier l'élément SelectedIndex. Si elle est égale à -1, cela signifie que rien n'est sélectionné.

CheckBoxList list = new CheckBoxList(); 
if (list.SelectedIndex == -1) 
{ 
     //Nothing is selected 
} 
0

Ceci est probablement la meilleure façon de valider la CheckBoxList:

Utilisez un validateur personnalisé:

<asp:CustomValidator runat="server" ID="cvmodulelist" ClientValidationFunction="ValidateModuleList" ErrorMessage="Please Select Atleast one Module"></asp:CustomValidator> 

Créer une fonction JavaScript pour valider le CheckBoxList:

// javascript to add to your aspx page 
function ValidateModuleList(source, args) 
{ 
    var chkListModules= document.getElementById ('<%= chkModuleList.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; 
} 

Une autre option est pour créer un contrôle de validation personnalisé, comme ceci:

using System; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.ComponentModel; 

namespace CustomValidators 
{ 
    public class RequiredFieldValidatorForCheckBoxLists : System.Web.UI.WebControls.BaseValidator 
    { 
    private ListControl _listctrl; 

    public RequiredFieldValidatorForCheckBoxLists() 
    { 
     base.EnableClientScript = false; 
    } 

    protected override bool ControlPropertiesValid() 
    { 
     Control ctrl = FindControl(ControlToValidate); 

     if (ctrl != null) 
     { 
     _listctrl = (ListControl) ctrl; 
     return (_listctrl != null); 
     } 
     else 
     return false; // raise exception 
    } 

    protected override bool EvaluateIsValid() 
    {  
     return _listctrl.SelectedIndex != -1; 
    } 
    } 
} 
1

CheckBoxList a des propriétés pour SelectedIndex et SelectedValue.

Vous pouvez vérifier s'il existe un SelectedIndex; ce sera -1 si aucun élément n'est coché.

Questions connexes