*   >> Lezen Onderwijs artikelen >> science >> programming

ASP.NET - C # - Hoe een herbruikbare CheckBoxValidator

0; if (isValid) _checkBoxes = getCheckBoxes (); terug isValid;}

De CheckBoxValidator wil het pand ControlToValidate te wijzen op een CheckBox, een CheckBoxList, of elke andere controle met ten minste één kind controle

Dus, dit is alles wat de CheckBoxValidator behoeften. om te werken aan de server-side.

Twee andere overrides ons toelaten om client-side validation.They benutten beide een if (EnableClient) staat, dus we kunnen client-side validatie uitschakelen op design-time, zoals we doen met andere validators.

Ik heb me geregistreerd twee aangepaste (Expando) attributen van de validator.The eerste attribuut (evaluationfunction) laat het kader weten welke javascript functie te roepen voor client-side validation.The tweede (CheckedCount ) is een aangepaste eigenschap die de telling van de geselecteerde vakjes slaat

beschermd override leegte AddAttributesToRender (HtmlTextWriter schrijver) {base.AddAttributesToRender (schrijver).; if (EnableClientScript) {Page.ClientScript.RegisterExpandoAttribute (this.ClientID, "evaluationfunction", "CodeGolem_CheckBoxValidator", false); Page.ClientScript.

RegisterExpandoAttribute (this.ClientID, "CheckedCount", getCheckedCount () ToString (), vals.); }}

Tot slot, hier is de JavaScript-functie, geregistreerd op de pagina binnen de OnPreRender evenement

beschermd override leegte OnPreRender (EventArgs e) {base.OnPreRender (e).; if (EnableClientScript) {koord onclick = String.Format ("if (this.checked) document.getElementById ('{0}') CheckedCount ++;.. anders document.getElementById ('{0}') CheckedCount--;", ClientID); foreach (object selectievakje getCheckBoxes ()) {if (selectievakje is CheckBox) ((CheckBox) checkbox) .Attributes.

Add ("onclick", onclick); if (selectievakje is ListItem) ((ListItem) checkbox) .Attributes.Add ("onclick", onclick); } Page.ClientScript.RegisterClientScriptBlock (GetType (), "ValidationFunction", String.Format (@ "functie CodeGolem_CheckBoxValidator (zender) {{return sender.CheckedCount> = {0} && sender.CheckedCount}}", _minimumChecked, _maximumChecked), true); }}

Dit voegt een onclick event handler op elk vakje, het verhogen of verlagen van de validator CheckCount.Validation gaat als het goed CheckCount binnen het toegestane bereik

NB:.

De containging panel kan ook bevat een mix v

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.