Pregunta

Tengo un montón de cuadros de texto y un botón de guardar para actualizar algo. Cuando hago clic en Guardar, tengo un código que determina si se completaron correctamente, en el código detrás del archivo.

Si no se rellenan correctamente, quiero mostrar un mensaje de error en forma de alerta.

¿Cuál es la mejor manera de hacer esto? Al presionar el botón, obviamente, la página se devuelve, así que pensé en agregar algo a la URL como mypage.aspx? Errormessage = blahblah pero no sé si esta es la mejor manera o incluso cómo hacerlo eso ...

¿Alguna sugerencia?

¿Fue útil?

Solución

Las alertas modales son malas, como lo son las devoluciones de datos. Intente verificar tanto como sea posible en el lado del cliente sin un viaje de ida y vuelta al servidor. Vea jQuery Validation complementos para una forma menos intrusiva de validación.

Otros consejos

¿Podría usar un CustomValidator para activar el script del lado del cliente que muestra un cuadro de alerta?

Puede usar el método ClientScript.RegisterStartupScript () en el código de manejo de errores del lado del servidor para escribir un fragmento de JavaScript que llame a la alerta ('mensaje'), algo como esto

private void ShowErrorMessage(string message)
{
    string script = "alert('" + message + "');";
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true);
}

Pero recomendaría que use un validador en su lugar. Si implementa su propio validador personalizado, puede hacer que emita un script del lado del cliente que puede ejecutarse antes del envío, para evitar la devolución de datos por completo.

Lo bueno de los validadores es que sus mensajes de error se pueden mostrar en un ValidatorSummary en la página, evitando el cuadro de alerta feo.

En primer lugar, no recomendaré mostrar un cuadro de alerta modal al usuario.

Puede llamar a una función de JavaScript desde el código del lado del servidor y en esa función puede mostrar el error.

O puede emitir una solicitud AJAX y después de la validación en el lado del servidor puede enviar una respuesta al cliente.

Los diversos controles de validación de ASP.NET (con la validación del lado del cliente habilitada), junto con los mensajes de error adecuados y / o el mensaje de resumen serán lo suficientemente buenos para la mayoría de los escenarios.

Para 'sensación y comportamiento AJAX', poner los controles en un panel de actualización también será fácil de implementar.

Utilice los Validadores antiguos tanto como sea posible, le brindan algunos javascript al cliente para que pueda hacer una gran cantidad de validación usando estos controles y solo cuando estén satisfechos permite que la página se envíe.

Se activan en cada envío, por lo que si no desea que cada acción de envío los active, los controles forman parte de un grupo de validación.

Pueden validar la entrada utilizando expresiones regulares, asegurarse de que un campo tenga un valor y que haya algunos más también.

Luego hay una propiedad para declarar un 'mensaje' y un control para mostrar todos los mensajes del validador. Todo muy elegante y integrado en el IDE.

Ve a ver los controles del validador.

Pruebe el siguiente código en su evento de clic de botón:

string strErr="Error!";//Put your error message here
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true);

Mostrará un mensaje de alerta.

De lo contrario, coloque una etiqueta en su página aspx y establezca false visible en el evento page_load. Cuando se produce un error en el evento del botón, configure la visibilidad de la etiqueta como "verdadera" y complete el texto de la etiqueta con el mensaje de error.

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