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

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

0; jos (isValid) _checkBoxes = getCheckBoxes (); palata isValid;}

CheckBoxValidator haluaa ControlToValidate omaisuus osoittamaan valintaruudun, CheckBoxList, tai muu ohjaus, jossa on ainakin yksi lapsi ohjaus.

Niin, tämä on kaikki CheckBoxValidator tarpeisiin työskennellä palvelinpuolen.

Kaksi ohitukset avulla voimme hyödyntää client-side validation.They sisältävät molemmat jos (EnableClient) kunnossa, jotta voimme poistaa client-side validointi Design-aikaan, kuten teemme muiden validators.


Olen rekisteröitynyt kaksi valinnaista (expando) attribuutteja on validator.The ensimmäinen määrite (evaluationfunction) avulla puitteet tietää, mitä JavaScript-toiminto vedota client-side validation.The toinen (CheckedCount ) on mukautettu ominaisuus, joka tallentaa määrä valittujen valintaruutujen.

suojattu ohittaa mitätön AddAttributesToRender (HtmlTextWriter kirjailija) {base.AddAttributesToRender (kirjoittaja); jos (EnableClientScript) {Page.ClientScript.RegisterExpandoAttribute (this.ClientID, "evaluationfunction", "CodeGolem_CheckBoxValidator", epätosi); Page.

ClientScript.RegisterExpandoAttribute (this.ClientID, "CheckedCount", getCheckedCount (). ToString (), epätosi); }}

Lopuksi tässä JavaScript-toiminto, rekisteröity sivun sisällä OnPreRender tapahtuma.

suojattu ohittaa mitätön OnPreRender (EventArgs e) {base.OnPreRender (e); jos (EnableClientScript) {string onclick = string.Format ("jos (this.checked) document.getElementById ({0} '). CheckedCount ++, muuten document.getElementById ({0}').

CheckedCount--;", ClientID); foreach (objekti valintaruutu getCheckBoxes ()) {jos (valintaruutu on valintaruudun) ((valintaruudun) valintaruutu) .Attributes.Add ("onclick" onclick); jos (valintaruutu on listitem) ((listitem) valintaruutu) .Attributes.Add ("onclick" onclick); } Page.ClientScript.RegisterClientScriptBlock (getType () "ValidationFunction", string.Format (@ "-toiminto CodeGolem_CheckBoxValidator (lähettäjä) {{palata sender.CheckedCount> = {0} && sender.

CheckedCount}}", _minimumChecked, _maximumChecked), totta); }}

Tämä lisää onclick tapahtumankäsittelijänä kunkin valintaruutu, monesko tai decrementing Validator n CheckCount.Validation onnistuu, jos CheckCount omaisuus on sallituissa rajoissa.

HUOMAUTUS: containging paneeli voi myös sisältävät sekoitus valintaruudun ja CheckBoxList valvo

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