ASP.NET - Javasript, longitud parametro limitado

   
Vista:

Javasript, longitud parametro limitado

Publicado por nessy (16 intervenciones) el 12/03/2008 09:56:50
Hola a todos,

Tengo el siguiente problema:
Desde la Pagina1 quiero abrir la Pagina2 en modo modal, para ello utilizando la función showModalDialog de javascript . El problema es que a la Pagina2 tengo que pasarle un parámetro muy muy muy largo, es un string (str) que ocupa unos 2KB.
Si hago str="a"; me funciona, he ido añadiendo carácteres... hasta que llega un punto que no funciona. Abre una nueva ventana pero no me carga la Pagina2.

var urlWeb = "Pagina2.aspx";
var parametros="?parametro=" + str;
var url=urlWeb + parametros;
var valObservacionNew = window.showModalDialog(url,'.....);

También he intentado pasarle en más de un parámetro pero tampoco va.

Parece ser que la longitud del texto a enviar por la url esta limitada, ¿sabeís si esto es así? ¿ no hay ninguna otra solución?

La cuestión es que los datos los tengo en el cliente en javascript, he pensado en escribirlos en un fichero .txt y que la Pagina2 los lea de este fichero.No me parece una buena solución, pero no se me ocurre nada.

Os agradecería que me ayudaseis
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Javasript, longitud parametro limitado

Publicado por @vm (196 intervenciones) el 12/03/2008 20:45:05
La longitud máxima de la dirección URL es de 2083 caracteres en Internet Explorer.

Puedes intentar no pasar el parametro por la url, si no por un objeto. Por ejemplo que la página hija acceda al valor de una caja de texto de la página padre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Javasript, longitud parametro limitado

Publicado por x (445 intervenciones) el 12/03/2008 23:49:21
Muy cierto, y tambien seria recomendable comprimir el texto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Javasript, longitud parametro limitado

Publicado por nessy (16 intervenciones) el 13/03/2008 10:05:15
Hola,

Gracias a los dos por responderme,

Eso es lo que he hecho, en la primera página he creado un campo oculto donde guardo toda la información.
Abro la segunda ventana en modo modal con showModalDialog y al abrir la página lo que hace es leer los datos de ese campo de su padre, con javasript:

var strInformacion=window.dialogArguments.form1.txt1.value;

y en strInformacion lo tengo todo!! conseguido!!

Ahora lo que quiero es mostrarlo en un gridview, (como me lio, no?) y como el gridview es un control del servidor tengo que ir al servidor a rellenarlo, asi q ahor estoy intentando hacer un postback desde javascript al servidor.

Gracias,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Javasript, longitud parametro limitado

Publicado por Javier Santamaria (312 intervenciones) el 13/03/2008 13:07:58
Para hacer un postback desde javascript se utiliza
__dopostback(eventTarget ,eventArgument)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Javasript, longitud parametro limitado

Publicado por x (445 intervenciones) el 13/03/2008 14:33:22
nuncal lo he probado asi, pero como es JavaScript no creo que funcione...

__doPostBack(eventTarget ,eventArgument)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Javasript, longitud parametro limitado

Publicado por nessy (16 intervenciones) el 14/03/2008 11:07:25
Hola,

El __doPostBack no me funciona,
Quiero que cuando se cargue la página vaya a la función CargarModificaciones de javascript. Esto lo hace bien, llega a la función, pero el postback me da error:

"Error en tiempo de ejecución de Microsoft JScript: Se esperaba un objeto"

<body onload="CargarModificaciones();>

function CargarModificaciones()
{
var i=2+3; //en realidad hago otras cosas
__doPostBack('CargarModificaciones', i);
}
}

Sabeís por que puede ser?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Javasript, longitud parametro limitado

Publicado por Javier Santamaria (312 intervenciones) el 14/03/2008 13:34:11
Hola ese problema le tuve yo (con los parametros). Te dejo los como resolerlo.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
If (IsPostBack) Then
If (Request.Params("__EVENTTARGET") = "form1") Then
Dim fi As New System.IO.FileInfo(rutaarchivo)
If fi.Exists Then
fi.Delete()
End If
End If
Else
Page.ClientScript.GetPostBackEventReference(New PostBackOptions(Page))
End If
End If
End Sub

Y claro, __doPostBack("form1","");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar