*   >> lukeminen koulutus Artikkelit >> science >> programming

ASP.NET - C # - miten koodi uudelleenkäytettäviä CheckBoxValidator

Tässä selitän miten koodia uudelleen, universaali, CheckBoxValidator ohjaus.

haluan kutsua sitä "universaali", koska se pystyy vahvistaa :

  • yksittäinen valintaruudun

  • minimi /maksimi määrä valintaruutuja sisällä CheckBoxList

  • minimi /maksimi määrä valintaruutuja sisällä mitään sisältävät valvonta (esimerkiksi sisällä Panel)

    Täysi lähdekoodi on kiinnitetty alareunassa tämän artikkelin.

    Annetaan katsomaan joitakin osa koodia.


    Ensinnäkin , CheckBoxValidator on perivät BaseValidator ja toteuttaa ainakin tärkein menetelmä validator tarvitsee: EvaluateIsValid.The CheckBoxValidator myös altistaa MinimumChecked ja MaximumChecked ominaisuudet olkaamme määritellä Design-aikaan kuinka monta valintaruudut saavat valita.

    public class CheckBoxValidator: BaseValidator {yksityinen valvonta _controlToValidate; Yksityinen lista _checkBoxes; private int _minimumChecked = 1; private int _maximumChecked = int.

    MaxValue; public int MinimumChecked {saada {palata _minimumChecked; } Set {_minimumChecked = arvo; }} Public int MaximumChecked {hankkiudu {palata _maximumChecked! = Int.MaxValue? _maximumChecked: 0; } Joukkoon {_maximumChecked = arvo! = 0? arvo: int.MaxValue; }} Suojattu ohitus BOOL EvaluateIsValid () {int count = getCheckedCount (); palata count> = _minimumChecked && count}}

    Kuten näette, arviointi toiminto saa lasken valitun valintaruudut ja varmistaa, onko se on sallitulla range.

    Here on getCheckedCount () menetelmä:

    private int getCheckedCount () {int count = 0; foreach (objekti valintaruutu _checkBoxes) {BOOL; jos (valintaruutu on listitem) valittu = ((listitem) valintaruutu) .Selected; jos (valintaruutu on valintaruudun) valittu = ((valintaruudun) valintaruutu) .Checked; jos (valittuna) count ++; } Paluu count;}

    Voit huomata _checkBoxes luettelo todellisuudessa ei sisällä pelkästään valintaruudut. Se on luettelo esineitä, ja saattaa sisältää valintaruudun objekteja sekä listitem objects.

    This on mahdollistaa validator käsitellä sekä valintaruudun ja CheckBoxList objects.You voi löytää getCheckBoxes () menetelmä liitteenä lähdetiedoston.

    On toinenkin tapa validator tarvitsee ohittaa: ControlPropertiesValid.The BaseValidator vetoaa tätä menetelmää tarkistaa, onko ControlToValidate kiinteistö on oikein asetettu.

    suojattu ohitus BOOL ControlPropertiesValid () {_controlToValidate = Page.FindControl (ControlToValidate ); bool isValid = _controlToValidate on valintaruudun || _controlToValidate on CheckBoxList || _controlToValidate.Controls.

    Count>

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.