*   >> Lectura Educación Artículos >> science >> programación

ASP.NET - C # - Cómo codificar un CheckBoxValidator

reutilizable

A continuación voy a explicar cómo codificar un reutilizable, control universal CheckBoxValidator

Me gusta llamarlo "universal", ya que es capaz de validar. :

  • un solo CheckBox

  • un mínimo /máximo de CheckBoxes dentro de un CheckBoxList

  • un mínimo /máximo de CheckBoxes dentro de cualquier control que contiene (por ejemplo dentro de un Panel)

    El código fuente completo se adjunta en la parte inferior de este artículo.

    Vamos a dar un vistazo a alguna parte del código.


    En primer lugar , la CheckBoxValidator tiene que heredar de BaseValidator e implementar al menos el método más importante un validador necesita: EvaluateIsValid.The CheckBoxValidator también expone MinimumChecked y MaximumChecked propiedades que vamos a definir en tiempo de diseño de cómo se permiten muchas casillas de verificación para seleccionar

    .

    CheckBoxValidator clase pública: BaseValidator {private _controlToValidate Control; _checkBoxes Lista privadas; private int _minimumChecked = 1; privada int _maximumChecked = int.

    MaxValue; public int MinimumChecked {get {return _minimumChecked; } Set {_minimumChecked = valor; }} Public int MaximumChecked {get {return _maximumChecked! = Int.MaxValue? _maximumChecked: 0; } Conjunto {_maximumChecked = valor! = 0? Valor: int.MaxValue; }} Protected override bool EvaluateIsValid () {int count = getCheckedCount (); volver contador> = _minimumChecked && count}}

    Como puede ver, la función de evaluación obtiene un recuento de casillas seleccionadas y verifica si está dentro de la range.

    Here permitido es el método getCheckedCount ():

    int getCheckedCount privada () {int cuenta = 0; foreach (casilla de verificación objeto en _checkBoxes) {bool; si (casilla está ListItem) selected = ((ListItem) casilla de verificación) .Selected; si (casilla está CheckBox) selected = ((CheckBox) casilla de verificación) .Checked; si (seleccionado) Recuento ++; } Recuento de retorno;}

    Se puede notar la lista _checkBoxes realidad no contiene sólo casillas de verificación. Es una lista de objetos, y puede contener objetos CheckBox, así como ListItem objects.

    This es permitir que el validador de manejar tanto CheckBox y CheckBoxList objects.You puede encontrar los getCheckBoxes () en el archivo de origen adjunto.

    Hay otro método el validador debe anular: ControlPropertiesValid.The BaseValidator invoca este método para verificar si la propiedad ControlToValidate

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.