none
Manejo de Excepciones del lado del Cliente RRS feed

  • Pregunta

  • Estoy desarrollando una web con razon y c#. 

    Al momento de realizar alguna excepcion se rompe la pagina, la idea es que en vez de romper muestre un Modal, Pop Up o algo similar con el mensaje de error capturado.

    Estuve leyendo pero no encuentro lo que necesito, no quiero redireccionar a un ViewError, ni guardar un Log. Necesito hacerlo con modal.

    Saludos.

    miércoles, 9 de mayo de 2018 20:57

Todas las respuestas

  • Imposible hacer lo que dice porque para hacer lo que dice primero debe cargar la página que tendrá el modal.  Explico más.

    Cuando un navegador navega a una nueva página, la página actual no tiene idea, salvo por los eventos beforeunload y onunload.  Si ocurre un problema durante la generación de la página que impide la generación de la página, la página actual del navegador NO es notificada de ninguna manera.  No es asunto que le concierne.  Como no hay notificación alguna, no hay forma de ejercer la presentación de un modal.

    Su única opción es redireccionar a una página alterna que indique al usuario que hubo un error.  No hay otra salida.


    Jose R. MCP
    Code Samples

    jueves, 10 de mayo de 2018 1:38
    Moderador
  • hola

    como poder se puede, pero vas a tener que definit un try..catch en cada evento que se realice

    en este evento usarias el

            string script = string.Format("popup('{0}');", ex.Message);
     
            ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, true);

    entonces en la pagina definir el modal de jquery

    https://jqueryui.com/dialog/

    >>Estoy desarrollando una web con razon y c#.

    que tipo de desarrollo realizas, porque si es asp.net mvc deberias preguntar en el foro

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 10 de mayo de 2018 17:50
  • Hola Pablete:

    Creo que tienes que tener dos grandes vías diferentes de trabajo.

    Todos los errores que ocurran en tu capa controller, hacia la base de datos, tienes que tratarlos en esa capa, de manera que sea cual sea la petición que hayas recibido, tiene que retornar a una vista con tu error, tipandolo a través de un modelo de error, o a una vista parcial, si has desencadenado la petición desde una vista parcial.

    Y otro tipo de area de trabajo, que es cuando el error se desencadena desde el lado del cliente, donde tus scripts, tendrán que ser lo suficientemente listos como para trabajar tambien en dos vías, la primera, si he perdido comunicación con el controller, por tanto no llego y muestro una ventana modal. La segunda si tengo comunicación con el controller, pero el error es cualquier otro, y entonces, además de presentarlo en la misma ventana, lo registro en el servidor.

    Si bien, eso no quiere decir que tus ventanas de error sean siempre iguales.

    En la gestión de erorres, creo que hay un debate, de más o menos la misma complejidad que el debate del huevo y la gallina.

    Pero aunque, no estoy de acuerdo con este post, si te enseñará a ver las cosas de otro modo, creo.

    http://panicoenlaxbox.blogspot.com.es/2010/09/gestion-de-errores-en-aspnet.html

    Un saludo

    viernes, 11 de mayo de 2018 6:43