Foros del Web » Programando para Internet » ASPX (.net) »

Registrar Script en ASP.NET 2005

Estas en el tema de Registrar Script en ASP.NET 2005 en el foro de ASPX (.net) en Foros del Web. En ASP.NET 2003 yo utilizaba este código para asignar el foco a un textbox: Código: Page.RegisterStartupScript("Focus", "<script language='JavaScript'>document.getElementById('txtCodigo').focus();</script>") Ahora en ASP.NET 2005 me arroja una ...
  #1 (permalink)  
Antiguo 03/06/2006, 09:12
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Registrar Script en ASP.NET 2005

En ASP.NET 2003 yo utilizaba este código para asignar el foco a un textbox:
Código:
Page.RegisterStartupScript("Focus", "<script language='JavaScript'>document.getElementById('txtCodigo').focus();</script>")
Ahora en ASP.NET 2005 me arroja una advertencia de que este código es obsoleto, la advertencia es la siguiente:
Cita:
Public Overridable Sub RegisterStartupScript(key As String, script As String)' is obsolete: 'The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script).
Este nuevo método me pide un Type como primer parámetro, ¿A qué tipo es que se refiere?

¿Por otro lado, de que forma podría ejecutar este código: "javascript:history.back();" ya que utilizando Page.RegisterStartupScript no realiza la acción esperada, osea, volver a la página anterior.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 04/06/2006, 22:29
 
Fecha de Ingreso: mayo-2006
Mensajes: 6
Antigüedad: 18 años
Puntos: 0
Re:

<script type="text/javascript">
....

...
Va el codigo
</script>

Yo lo hago de esta manera e introduzco codigo js en html
  #3 (permalink)  
Antiguo 05/06/2006, 06:09
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Desde HTML no me sirve porque quiero ejecutarlo desde el evento click de un botón.

¿Alguna otra idea?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #4 (permalink)  
Antiguo 05/06/2006, 18:11
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Cita:
Iniciado por RsOfT
Este nuevo método me pide un Type como primer parámetro, ¿A qué tipo es que se refiere?
Por qué no buscas en la documentación?

Cita:
¿Por otro lado, de que forma podría ejecutar este código: "javascript:history.back();" ya que utilizando Page.RegisterStartupScript no realiza la acción esperada, osea, volver a la página anterior.
Muestra algo más de código, porque lo que muestras no tiene una sintáxis *correcta*.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 06/06/2006, 13:32
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
saludos
para el parámetro Type necesitas el tipo de la página
Código:
string jscript = "<script language='javascript' type= 'text/javascript'> window.alert('Mensaje'); </" + "script>";
            ClientScript.RegisterClientScriptBlock(this.GetType(), "TituloScript", jscript);
__________________
0.o Rodri
  #6 (permalink)  
Antiguo 14/06/2006, 06:25
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Cita:
Escrito por xknown:
Muestra algo más de código, porque lo que muestras no tiene una sintáxis *correcta*.
Lo que quiero hacer es ejecutar el código javascript "javascript:history.back();" desde un botón. Si yo coloco este código en un link así: "<a href="javascript:history.back();">Volver</a>" me funciona perfectamente.

rodri, probré como me dijiste así:

Código:
Dim jscript As String = "<script language='javascript' type= 'text/javascript'>javascript:history.back();</script>"
ClientScript.RegisterClientScriptBlock(Me.GetType, "TituloScript", jscript)
y no funciona.


¿Alguna idea?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #7 (permalink)  
Antiguo 14/06/2006, 08:52
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
ahhh, creo que lo que quieres se hace así.

MiBoton.Attributes.Add("onclick","history.back();" );

por que no lo intentas?
saludos
__________________
0.o Rodri
  #8 (permalink)  
Antiguo 14/06/2006, 12:45
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
No me funciona.
Coloqué el código que me diste en el evento click del botón.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #9 (permalink)  
Antiguo 16/06/2006, 09:24
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
que error te da?
sino intenta asi:
MiBoton.Attributes.Add("onclick","javascript:histo ry.back();" );
__________________
0.o Rodri
  #10 (permalink)  
Antiguo 16/06/2006, 10:01
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
rodri, tampoco funciona, coloqué esto en el evento Click del botón:
btnVolver.Attributes.Add("onclick", "javascript:history.back();")

Lo que la página hace es postback pero no me lleva a la página anterior.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #11 (permalink)  
Antiguo 16/06/2006, 10:58
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
btnVolver.Attributes.Add("onclick", "javascript:history.go(-1);")
  #12 (permalink)  
Antiguo 16/06/2006, 11:01
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
aah.. no lei tu comentario..

Cita:
Lo que la página hace es postback pero no me lleva a la página anterior.

Boy a buscar como regresarte realmente.. por que el history.go(-1) si funciona.. pero como estas haciedo postbacks no te regresará de la pagina de la que vienes....

En cuanto haye algo de como hacer un back real lo posteo aqui....
  #13 (permalink)  
Antiguo 16/06/2006, 11:09
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Bueno.. una solucion rapida mientras encuentro una mejor..
Si tiene una pagina a.aspx y b.aspx

en a.aspx redireccionas a b.aspx
En el load de b.aspx pones:
if not ispostback
viewstate("backurl") = Request.UrlReferrer()
end if

Y ahunque estando b.aspx haga postback ya tendrás la pagina de la que viniste en el viewstate("backurl") mismo que puedes agregar el javascript necesario para hacer un back a a.aspx..

Espero te sirva.. saludos
  #14 (permalink)  
Antiguo 16/06/2006, 12:19
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Cita:
Originalmente escrito por: Stream
...puedes agregar el javascript necesario para hacer un back a a.aspx.
La verdad no se cual es el código necesario para hacer back, suponía que era este:
btnVolver.Attributes.Add("onclick", "javascript:history.go(" & ViewState("BackURL") & ");")

Y me da el siguiente error: Server was unable to process request. ---> Argument 'Length' must be greater or equal to zero.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #15 (permalink)  
Antiguo 04/06/2007, 07:52
 
Fecha de Ingreso: junio-2006
Mensajes: 61
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Registrar Script en ASP.NET 2005

no puedes meter la url en el history.go pq el argumento de esta funcion es un entero.

pq no usas el evento onclickclient???

ese evento permite registrar javascript

ahora como estas haciendo postback en la misma pagina podrias usar algo asi como esto en el evento load de la pagina, pensando que contador es una variable global de la pagina e inicalizada en -1

if page.ispostback then
contador=contador-1
boton.onclickClient="javascript:history.go(contado r);"
end if

Última edición por daltahir; 04/06/2007 a las 08:04
  #16 (permalink)  
Antiguo 06/06/2007, 08:21
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Re: Registrar Script en ASP.NET 2005

Hola.
Yo creo que ya lo tenías todo bien codificado. El problema es que te falta darle el "return false;" de javascript, porqué sinó te hace el postback, que es lo que te molesta. En mi opinión, de esta manera debería funcionar:
Código:
btnVolver.Attributes.Add("onclick", "history.go(-1); return false;")
Ah! Y esto:
Código:
history.go(-1);
Es lo mismo que esto:
Código:
history.back();
Suerte!
Ya comentarás...
__________________
..:: moNTeZIon ::..
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 04:51.