Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con RegisterStartupScript

Estas en el tema de Problema con RegisterStartupScript en el foro de .NET en Foros del Web. Hola foreros, me ocurre el siguiente problema ,tengo una funcion en codigi servidor la cual cuando la llamo me hace una serie de validaciones y ...
  #1 (permalink)  
Antiguo 24/05/2006, 09:38
Avatar de CiberPunk  
Fecha de Ingreso: agosto-2005
Ubicación: El mundo
Mensajes: 61
Antigüedad: 18 años, 8 meses
Puntos: 0
Problema con RegisterStartupScript

Hola foreros,

me ocurre el siguiente problema ,tengo una funcion en codigi servidor la cual cuando la llamo me hace una serie de validaciones y me lanza si todo ha ido correctamente esto:

Page.RegisterStartupScript("Script", "<script language='javascript'>AltaIncidencias();</script>")

lo cual me ejecuta una funcion javascript que me abre un popup, vale pues mi problema es el siguiente, hago las validaciones correctamente y despues cuando llega a la linea del javascript mientras esta haciendo el postback la pagina es cuando me abre el popup pero me lo debe de hacer antes de que acabe de hacer el postback y me deja el popup detras de la pantalla y me gustaria que estuviese delante ,algun consejo?

Gracias foreros.
__________________
Pollo k no kakarea.... Gatillazo k resuena
  #2 (permalink)  
Antiguo 25/05/2006, 05:12
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
A mi me pasa algo parecido, a ver si alguien sabe algo...
  #3 (permalink)  
Antiguo 25/05/2006, 05:50
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
Mi pregunta seria, es posible realizar codigo javascript antes de hacer el postback y que luego haga el postback?
  #4 (permalink)  
Antiguo 25/05/2006, 10:58
Avatar de CiberPunk  
Fecha de Ingreso: agosto-2005
Ubicación: El mundo
Mensajes: 61
Antigüedad: 18 años, 8 meses
Puntos: 0
Desde la parte de cliente puedes al final de una funcion javascript forzar un postback pero otro tema es evitar el postback que tanto nos toca las narices, una solucion a lo mejor para tu caso es que puedas ejecutar antes el javascript y despues a traves de AJAX llamar al servidor .
__________________
Pollo k no kakarea.... Gatillazo k resuena
  #5 (permalink)  
Antiguo 25/05/2006, 14:53
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Iniciado por CiberPunk
y despues cuando llega a la linea del javascript mientras esta haciendo el postback la pagina es cuando me abre el popup pero me lo debe de hacer antes de que acabe de hacer el postback
es normal que se abra el popup antes ya que primero se genera el código server y luego la respuesta va al cliente...

si estas llamando ese método javascript sin hacer otra cosa porque no lo colocas directamente en tu html hasta abajo de todos tus controles para que des oportunidad de que se ejecute el server, y luego escriba en cliente y se ejecute tu funcion...

Espero haberme explicado..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 25/05/2006, 14:59
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
... por cierto, puedes intentarlo de ésta manera:

Page.RegisterClientScriptBlock("abrir","<script language='javascript'>AltaIncidencias();</script>");
  #7 (permalink)  
Antiguo 25/05/2006, 16:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
Cita:
Iniciado por CiberPunk
una solucion a lo mejor para tu caso es que puedas ejecutar antes el javascript y despues a traves de AJAX llamar al servidor .
Ein? No te entiendo. Me lo puedes explicar un poco mejor, please?

Cita:
Iniciado por RootK
es normal que se abra el popup antes ya que primero se genera el código server y luego la respuesta va al cliente...
Y no hay forma que se genere primero el codigo del cliente?
  #8 (permalink)  
Antiguo 26/05/2006, 10:08
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Iniciado por Anpiro
Y no hay forma que se genere primero el codigo del cliente?
... ya probaste con lo que te comenté..?? :pensando;

Page.RegisterClientScriptBlock("abrir","<script language='javascript'>AltaIncidencias();</script>");
  #9 (permalink)  
Antiguo 27/05/2006, 03:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 102
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola Rootk:

Si he probado lo que me has dicho, y no hace lo que me gustaría. Te explico:

Yo tengo en el codebehind:

RegisterClientScriptBlock("ClientScript", <script>Validar2();</script>);

If (Valida2.Value == "1") {/*Esta parte de codigo es la que quiero que se ejecute*/}


Y en el codigo Javascript tengo:

function Validar2()
{

if (confirm('Ninguna regulacion habilitada ¿Continuar?')) {
val2 = 1;
document.Form1.Valida2.value = String(val2);
return true;
}
else
return false;
}

Bien pues yo quiero que el valor "1" se asigne a Valida2, y no se asigna, bueno se asigna despues de ejecutar el codigo servidor. Por tanto no hace antes el codigo javascript que es lo que quiero ;(. He depurado el codigo, y veo una minima diferencia entre
RegisterClientScriptBlock y RegisterStartupScript pero en el fondo hacen lo mismo no?

en resumen, lo que quiero es que cuando yo acepte (codigo cliente), ejecute un codigo y si cancelo otro (en ambos casos es codigo servidor). Este codigo esta dentro de un asp:button y se ejecuta con el evento onclick.

¿Se me ha entendido?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:48.