*   >> Lecture Éducation Articles >> science >> la programmation

ASP.NET - C # - Comment coder un CheckBoxValidator

ctement configuré

protected override bool ControlPropertiesValid () {_controlToValidate = Page.FindControl (ControlToValidate. ); bool isValid = _controlToValidate est CheckBox || _controlToValidate est CheckBoxList || _controlToValidate.Controls.Count> 0; si (isValid) _checkBoxes = getCheckBoxes (); retourner isValid;}

Le CheckBoxValidator veut la propriété ControlToValidate pour pointer vers une case à cocher, un CheckBoxList, ou de toute autre commande ayant au moins un contrôle enfant

Donc, cela est tout ce que les besoins de CheckBoxValidator.

pour travailler sur le côté serveur.

Deux autres remplacements nous permettent de mettre à profit côté client validation.They deux incluent un si (EnableClient) état, afin que nous puissions désactiver la validation côté client au moment de la conception, comme nous le faisons avec les autres validateurs.

Je me suis inscrit deux personnalisé (expando) les attributs du premier attribut validator.The (de evaluationfunction) permet le cadre savoir quels fonction javascript invoquer pour côté client second validation.

The (CheckedCount ) est une propriété personnalisée qui stocke le nombre de cases cochées

protected override vide AddAttributesToRender (HtmlTextWriter écrivain) {base.AddAttributesToRender (écrivain).; si (EnableClientScript) {Page.ClientScript.RegisterExpandoAttribute (this.ClientID, "evaluationfunction", "CodeGolem_CheckBoxValidator", false); Page.ClientScript.RegisterExpandoAttribute (this.ClientID, "CheckedCount", getCheckedCount () ToString (), fausse.

); }}

Enfin, voici la fonction javascript, inscrit sur la page dans l'événement OnPreRender

protected override vide OnPreRender (EventArgs e) {base.OnPreRender (e).; si (EnableClientScript) {string onclick = string.Format («si (this.checked) document.getElementById ('{0}') CheckedCount ++;.. ailleurs document.getElementById ('{0}') CheckedCount--;", ClientID); foreach (objet case à cocher dans getCheckBoxes ()) {if (case à cocher est case à cocher) ((case à cocher) checkBox) .Attributes.Add ("onclick", onclick); si (case à cocher est ListItem) ((ListItem) checkBox) .

Attributes.Add ("onclick", onclick); } Page.ClientScript.RegisterClientScriptBlock (GetType (), "ValidationFunction", string.Format (@ "fonction CodeGolem_CheckBoxValidator (expéditeur) {{return sender.CheckedCount> = {0} && sender.CheckedCount}}", _minimumChecked, _maximumChecked), vrai); }}

Cela ajoute un g

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.