Pregunta

¿Hay una manera de verificar si un control ValidationSummary tiene su propiedad IsValid establecida en verdadero usando Javascript en el evento OnClientClick de un botón?

Lo que estoy tratando de hacer es mostrar un mensaje que dice " espera mientras se carga tu archivo " en una página de carga, pero si uso javascript para mostrar ese mensaje, aparece incluso cuando ValidationSummary tiene errores, por lo que el mensaje aparece junto con los errores debajo, lo que confunde a los usuarios.

¿Fue útil?

Solución 2

En caso de que otros necesiten algo como esto, aquí está mi solución:

En el evento OnClientClick del botón, estoy llamando a una función de javascript llamada showContent (). En esta función, uso setTimeout para llamar a una segunda función que verifica la propiedad IsValid de la página:

function showContent() 
{
    setTimeout("delayedShow()", 1);
}

function delayedShow() 
{
    if (Page_IsValid != null && Page_IsValid == true) 
    {
       document.getElementById('divUploading').style.display = "block";
    }
}

El Page_IsValid devuelve true en el evento OnClientClick porque la validación de javascript se ejecuta después de esto, por lo que el retraso de 1 segundo permite que la propiedad IsValid se configure correctamente.

Otros consejos

Creo que esto hará lo que quieras.

var isValid = false;
if (typeof(Page_ClientValidate) == 'function') 
{
   isValid = Page_ClientValidate();
}

if(isValid)
{
   ShowMessage(...);
}

Si tiene varios grupos de validación en una sola página, debe verificar solo cierto grupo:

var isValid = Page_ClientValidate('GroupName');

Supongo que lo que deberías hacer es Deshabilitar el suba el botón y muestre un mensaje mientras la carga está en curso. Por ejemplo, utilizando un panel ajax y una plantilla de progreso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top