*   >> läser Utbildning artiklar >> science >> programming

ASP.NET - C # - Hur man koda en återanvändbar CheckBoxValidator

Här kommer jag att förklara hur man koda en återanvändbar, universal, CheckBoxValidator kontroll Omdömen

Jag gillar att kalla det "universella", eftersom det är i stånd att bekräfta. :

  • en enda CheckBox Omdömen
  • en lägsta /högsta beloppet för kryssrutor i en CheckBoxList Omdömen
  • en lägsta /högsta beloppet för kryssrutor i någon som innehåller kontroll (till exempel inom en panel)

    Fullständig källkod är fäst längst ner i denna artikel. Omdömen

    Låt oss ge en titt på någon del av koden.

    Omdömen

    Först av allt har CheckBoxValidator att ärva från BaseValidator och genomföra åtminstone den viktigaste metoden en validator behöver: EvaluateIsValid.The CheckBoxValidator utsätter också MinimumChecked och MaximumChecked fastigheter att låta oss definiera vid design gången hur många kryssrutor får väljas Omdömen.

    public class CheckBoxValidator: BaseValidator {privat kontroll _controlToValidate; privata Lista _checkBoxes; private int _minimumChecked = 1; private int _maximumChecked = int.

    MaxValue; public int MinimumChecked {få {return _minimumChecked; } Set {_minimumChecked = värde; }} Public int MaximumChecked {få {return _maximumChecked! = Int.MaxValue? _maximumChecked: 0; } Set {_maximumChecked = värde! = 0? värde: int.MaxValue; }} Skyddade override bool EvaluateIsValid () {int count = getCheckedCount (); tillbaka count> = _minimumChecked && count}} Omdömen

    Som ni kan se, blir utvärderingsfunktionen en Antalet valda kryssrutor och verifierar om det är inom det tillåtna range.

    Here är getCheckedCount () metoden:

    private int getCheckedCount () {int count = 0; foreach (objektkryssrutan _checkBoxes) {bool; if (kryssrutan är listitem) valts = ((listitem) ruta) .Selected; if (kryssrutan är CheckBox) valts = ((CheckBox) ruta) .Checked; if (vald) count ++; } Retur räkna;} Omdömen

    Du kan märka listan _checkBoxes faktiskt innehåller inte bara kryssrutor. Det är en lista över objekt och kan innehålla CheckBox objekt, liksom listitem objects.This är att göra det möjligt för validator att hantera både CheckBox och CheckBoxList objects.

    You hittar getCheckBoxes () metoden i den bifogade källfilen. Omdömen

    Det finns en annan metod valideraren behöver åsidosätta: ControlPropertiesValid.The BaseValidator åberopar denna metod för att kontrollera om egenskapen ControlToValidate är rätt inställd Omdömen

    skyddat åsidosätta bool ControlPropertiesValid () {_controlToValidate = Page.FindControl (ControlToValidate. ); bool isValid = _controlToValidate är CheckBox || _controlToValidate är CheckBoxList || _controlToValidate.Controls.

    Count>

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.