*   >> Lese Utdanning Artikler >> science >> programming

ASP.NET - C # - Hvordan kode en gjenbrukbar CheckBoxValidator

Her vil jeg forklare hvordan å kode en gjenbrukbar, universell, CheckBoxValidator kontroll

Jeg liker å kalle det "universelle" fordi den er i stand til å validere. :

  • en enkelt avmerkingsbokser

  • a minimum /maksimumsbeløp på avmerkingsboksene innenfor en CheckBoxList

  • a minimum /maksimumsbeløp på avmerkingsboksene innen noen inneholder Control (for eksempel innenfor et panel)

    Full kildekode er festet nederst i denne artikkelen.

    La oss gi en titt på noen del av koden.


    Først av alt har CheckBoxValidator å arve fra BaseValidator og implementere minst den viktigste metoden en validator behov: EvaluateIsValid.The CheckBoxValidator eksponerer også MinimumChecked og MaximumChecked egenskaper for å la oss definere på design-time hvor mange boksene får lov til å bli valgt

    .

    public class CheckBoxValidator: BaseValidator {private Kontroll _controlToValidate; Privat liste _checkBoxes; private int _minimumChecked = 1; private int _maximumChecked = int.

    MaxValue; public int MinimumChecked {få {return _minimumChecked; } Satt {_minimumChecked = verdi; }} Public int MaximumChecked {får {return _maximumChecked! = Int.MaxValue? _maximumChecked: 0; } Sett {_maximumChecked = verdi! = 0? verdi: int.MaxValue; }} Beskyttet ride bool EvaluateIsValid () {int teller = getCheckedCount (); returnere tall> = _minimumChecked && count}}

    Som du kan se, blir evalueringsfunksjonen en telling av utvalgte boksene og kontrollerer om det er innenfor det tillatte range.

    Here er getCheckedCount () metode:

    private int getCheckedCount () {int teller = 0; foreach (objekt avkrysningsboks i _checkBoxes) {bool; if (avmerkingsboksen er listitem) valgt = ((listitem) avmerkingsboks) .Selected; if (avmerkingsboksen er avmerkingsbokser) valgt = ((avmerkingsbokser) avmerkingsboks) .checked; if (valgt) teller ++; } Avkastning teller;}

    Du kan legge merke til listen _checkBoxes faktisk inneholder ikke bare boksene. Det er en liste over objekter, og kan inneholde avkrysningsruten objekter, samt listitem objects.

    This er at validatoren å håndtere både boksen og CheckBoxList objects.You finner getCheckBoxes () metoden i vedlagte kildefilen. Anmeldelser

    Det er en annen metode validator behov for å overstyre: ControlPropertiesValid.The BaseValidator påkaller denne metoden for å kontrollere om ControlToValidate eiendommen er riktig satt

    beskyttet ride bool ControlPropertiesValid () {_controlToValidate = Page.FindControl (ControlToValidate. ); bool IsValid = _controlToValidate er avmerkingsbokser || _controlToValidate er CheckBoxList || _controlToValidate.Controls.

    Count>

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.