Buenas, les explico de donde viene mi duda, estoy desarrollando un web site con asp.net 2.0 y C#, en la carpeta App_Code tengo una clase (en C#) BaseDeDatos.cs que se encarga de conecciones a la base por ejemplo. Lo que quiero es, capturar cualquier excepcion en esta clase y mostrar en un Alert la excepción ocurrida.
El problema es que no puedo invocar el JavaScript con las formas tradicionales, como por ejemplo con Page.RegisterStartupScript/RegisterClientScriptBlock, ni con Response.Write, ClientScript.RegisterClientScriptBlock, ya que estos métodos solo los puedo usar desde una página aspx, y no desde esta clase.
Encontre una forma demasiado sucia de hacerlo que funciona, y la forma es:
En las paginas creo un label (visible=false para que no moleste), y lo mando por parametro a los metodos de la clase BaseDeDatos.cs. Entonces en cada metodo:
lblScript.Text = "<script language=\"JavaScript\"> alert('" + ex.Message.Replace("'", "").ToString() + "')</script>";
Supongo que hay una forma correcta de hacer esto, pero la verdad no encuentro respuestas!!!
Agradecido de antemano