*   >> läser Utbildning artiklar >> science >> programming

ASP.NET - C # - Hur man koda en återanvändbar CheckBoxValidator

0; if (isValid) _checkBoxes = getCheckBoxes (); tillbaka isValid;} Omdömen

CheckBoxValidator vill egenskapen ControlToValidate att peka på en CheckBox, en CheckBoxList eller någon annan kontroll som har åtminstone ett barn kontroll Omdömen

Så, är detta allt som CheckBoxValidator behov. att arbeta på serversidan. Omdömen

Ytterligare två overrides ger oss möjlighet att utnyttja klientsidan validation.They båda inkluderar if (EnableClient) tillstånd, så att vi kan stänga av valideringsklientsidan vid konstruktion tid, som vi gör med andra mekanismerna.

Omdömen

Jag har registrerat två anpassade (Expando) attribut i validator.The första attributet (evaluationfunction) låter ramen vet vilka javascript funktion att åberopa för klientsidan validation.The andra (CheckedCount ) är en anpassad egenskap som lagrar Antalet valda kryssrutor Omdömen

skyddat åsidosätta void AddAttributesToRender (HtmlTextWriter författare) {base.AddAttributesToRender (författare). if (EnableClientScript) {Page.ClientScript.RegisterExpandoAttribute (this.ClientID "evaluationfunction", "CodeGolem_CheckBoxValidator", false); Page.ClientScript.

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

Slutligen, här är JavaScript-funktionen, som registrerades på sidan inom OnPreRender händelsen Omdömen

skyddat åsidosätta void OnPreRender (EventArgs e) {base.OnPreRender (e). if (EnableClientScript) {string onclick = string.Format ("if (this.checked) document.getElementById ('{0}') CheckedCount ++;.. annars document.getElementById ('{0}') CheckedCount--;" ClientID); foreach (objektkryssrutan getCheckBoxes ()) {if (kryssrutan är CheckBox) ((CheckBox) ruta) .Attributes.

Add ("onclick" onclick); if (kryssrutan är listitem) ((listitem) ruta) .Attributes.Add ("onclick" onclick); } Page.ClientScript.RegisterClientScriptBlock (getType (), "ValidationFunction", string.Format (@ "-funktion CodeGolem_CheckBoxValidator (avsändare) {{return sender.CheckedCount> = {0} && sender.CheckedCount}}", _minimumChecked, _maximumChecked), sann); }}

Detta lägger ett onclick händelsehanterare på varje kryssruta, uppräkning eller nedräkning av Validator s CheckCount.Validation passerar om egenskapen CheckCount ligger inom det tillåtna området Omdömen

OBS:.

Den containging Nämnden får också innehålla en blandning av Ch

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.