*   >> Lectura Educación Artículos >> science >> programación

ASP.NET - C # - Cómo codificar un CheckBoxValidator

está correctamente

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

El CheckBoxValidator quiere la propiedad ControlToValidate para apuntar a un CheckBox, un CheckBoxList, o cualquier otro control que tiene por lo menos un control secundario

Por lo tanto, esto es todo lo que las necesidades CheckBoxValidator.

para trabajar en el lado del servidor.

Dos anulaciones mas nos permiten apalancar cliente-lado validation.They ambos incluyen un (EnableClient) condición si, por lo que podemos desactivar la validación del lado del cliente en tiempo de diseño, como que hacemos con otros validadores.

Me he registrado en dos personalizado (expando) atributos del primer atributo validator.The (evaluationfunction) permite el marco sé a qué función javascript para invocar para el lado del cliente validation.

The segunda (CheckedCount ) es una propiedad personalizada que almacena el recuento de casillas seleccionadas

protected override void AddAttributesToRender (escritor HtmlTextWriter) {base.AddAttributesToRender (escritor).; si (EnableClientScript) {Page.ClientScript.RegisterExpandoAttribute (this.ClientID "evaluationfunction", "CodeGolem_CheckBoxValidator", false); Page.ClientScript.RegisterExpandoAttribute (this.ClientID "CheckedCount", getCheckedCount () ToString (), falsa.

); }}

Por último, aquí está la función javascript, registrada en la página dentro del evento OnPreRender

protegida override void OnPreRender (EventArgs e) {base.OnPreRender (e).; si (EnableClientScript) {string onclick = string.Format ("si (this.checked) document.getElementById ('{0}') CheckedCount ++;.. lo demás document.getElementById ('{0}') CheckedCount--;", Identificación del cliente); foreach (casilla de verificación objeto en getCheckBoxes ()) {if (casilla está CheckBox) ((CheckBox) casilla de verificación) .Attributes.

Add ("onclick", onclick); si (casilla está ListItem) ((ListItem) casilla de verificación) .Attributes.Add ("onclick", onclick); } Page.ClientScript.RegisterClientScriptBlock (GetType (), "ValidationFunction", string.Format (@ "función CodeGolem_CheckBoxValidator (remitente) {{return sender.CheckedCount> = {0} && sender.CheckedCount}}", _minimumChecked, _maximumCh

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.