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

No encuentro solución en envio por POST

Estas en el tema de No encuentro solución en envio por POST en el foro de ASPX (.net) en Foros del Web. Buenos días, Me está siendo muy difícil encontrar respuestas para un problema que tengo. No encuentro soluciones claras por internet, y de hecho, hay dos ...
  #1 (permalink)  
Antiguo 24/07/2006, 10:46
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 11 meses
Puntos: 9
No encuentro solución en envio por POST

Buenos días,
Me está siendo muy difícil encontrar respuestas para un problema que tengo.
No encuentro soluciones claras por internet, y de hecho, hay dos posts en este foro desde hace un tiempo, que no han sido contestados, y me sorprende mucho ya que creo que es algo que mucha gente se tiene que haber encontrado.
Verán, simplemente se trata de redireccionar a una página de un servidor externo, enviando unos parametros por el método Post.
Deseo realizar eso sin tener que construir un FORM, y menos todavía soluciones como las que he visto, de construir un FORM y mandarlo automáticamente con Javascript. No quiero ni verlo al JavaScript
Me gustaría conseguir poder presionar un "asp:button" de la página, y en ese evento, realizar un par de acciones, y por último, redireccionar a esa página externa, enviando un par de variables por el metodo post, que obtengo sus valores en el propio evento.

Más informacion sobre la situación pueden verla en los otros posts:
http://www.forosdelweb.com/f78/webclient-respuesta-html-406614/
http://www.forosdelweb.com/f78/envio-post-dinamico-410864/

Espero que alguien me pueda ayudar. De hecho, ahora mismo lo tengo funcionando con un formulario y el usuario debe presionar un botón, cosa que requiere de una página más que me podría ahorrar, y sobretodo, de una intervención del usuario que también me podría ahorrar.

Muchas gracias!
Nos vemos por aqui.
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 25/07/2006, 12:05
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 10 meses
Puntos: 50
La otra vez no te pude contestar por falta de time, pero en fin, una pregunta antes de continuar quieres mandar esos parámetros a una pagina "x" o tambien quieres redireccionarla ?

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

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 25/07/2006, 13:07
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 10 meses
Puntos: 50
ahh ok, creo que ya entendí lo que pretendes... de hecho creo que también la colocaré en las faq´s.

la idea es colocar el siguiente código javascript:

Cita:
<script language="javascript">
function noPostBack(sNewFormAction)
{
document.forms[0].action = sNewFormAction;
document.forms[0].__VIEWSTATE.name = 'NOVIEWSTATE';
}
</script>
despues en tu boton que necesites agregas el siguiente atributo:

Cita:
Button2.Attributes.Add("onclick","noPostBack('pagina2.aspx');");
y listo, todos tus controles que tengas los puedes recoger en pagina2.aspx con un simple Request.Params["control"]

Espero que sea lo que buscas...

aqui está la referencia tambien para implementarlo con algunos otros browsers..

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

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 26/07/2006, 03:48
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 11 meses
Puntos: 9
Gracias Root,
La verdades que no quería
Cita:
Iniciado por moNTeZIon
ni verlo al JavaScript...
pero bueno, después de tu respuesta y todo lo que vi por ahi (que llevo un buen tiempo buscando...) creo que no habrá forma de conseguir lo que quiero, haciendolo todo desde codigo de servidor.
Lo de JavaScript, por lo típico, que no quiero que el funcionamiento de la aplicación dependa de JavaScript. Si lo tienen desactivado, que?
La conclusión a la que llego, es que prefiero mantener el Form "intermedio" y automatizar el envío de éste con JavaScript, al cargar el form, aunque esto también tiene el inconveniente que se verá ese formulario durante unos segundos. Y a las malas, si no tienen JavaScript, podrán presionar el botón del formulario para enviar los datos.
Bueno, no me ha gustado nada la expriencia con todo esto. De hecho no me quedo muy tranquilo con la solución, pero de momento es la que mantendré.
Cualquier otra idea al respecto, será muy bienvenida.
Saludos a todos.
__________________
..:: moNTeZIon ::..
  #5 (permalink)  
Antiguo 26/07/2006, 08:48
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 10 meses
Puntos: 50
Cita:
No quiero ni verlo al JavaScript
ok, ok, se me fue esa parte, tienes razón en que el ejemplo que pongo es para hacerlo con javascript, creeme que trataré de darme tiempo para hacer el envío de post sin usar javascript sino mediante objetos del System.Net, lo que tengo ahorita es poder enviar las peticiones a la página destino pero no hace el redireccionamiento solo la peticion si me explico ?

Es que la naturaleza del asp.net es el famoso postback cosa que no existía en asp normal es por eso que podíamos antes tener multiples forms y redireccionar a cualquier otra pagina .asp, uno de las formas en que lo hago es mediante sessions y en cuanto las reciba las libero, otra es mediante GET encriptado (aunque no es muy limpio pero a veces es necesario), o mediante frames, server.transfer, etc, pero también tiene mucho que ver la seguridad que deseas manejar aunque estás de acuerdo que sea por post o get cual sea el método se puede cachar esa info.

Por cierto, no te sirve hacerlo con Server.Transfer ?
  #6 (permalink)  
Antiguo 26/07/2006, 09:12
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 11 meses
Puntos: 9
Hola RootK,
Cita:
Iniciado por RootK
...lo que tengo ahorita es poder enviar las peticiones a la página destino pero no hace el redireccionamiento solo la peticion si me explico ?
Si, eso es lo que conseguí a través de la clase WebClient. Puse el código en uno de los hilos de arriba. Pero claro, necesito redireccionar hacia allí.
Cita:
Iniciado por RootK
Por cierto, no te sirve hacerlo con Server.Transfer ?
Server.Transfer no me sirve porqué tengo entendido que no sirve para enviar a un servidor externo, y en mi caso, debo enviar los valores a un servidor externo.
Otro requerimiento es que los valores se envien por POST. He probado a mandarlos por GET pero no cuela, me suelta un error de miedo.
Os lo pongo muy dificil?
Gracias cracks!
__________________
..:: moNTeZIon ::..
  #7 (permalink)  
Antiguo 15/09/2006, 10:47
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 11 meses
Puntos: 9
Que tal gente...
Por aqui... reviviendo el post, a ver si cae algo.
Un saludo!
__________________
..:: moNTeZIon ::..
  #8 (permalink)  
Antiguo 12/03/2007, 20:30
 
Fecha de Ingreso: marzo-2007
Mensajes: 63
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: No encuentro solución en envio por POST

yo quiero lo mismo pero en php
  #9 (permalink)  
Antiguo 13/03/2007, 05:42
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 11 meses
Puntos: 9
Re: No encuentro solución en envio por POST

je! Que tal porkeno. Bienvenido!
Pues mira, finalmente lo dejé con un formulario intermedio y haciendo uso de JavaScript para enviarlo, porqué a dia de hoy nadie ha dado una solución al tema todavía.
Por mi parte no consigo encontrar algo que me ayude a realizar el envío, haciendo uso exclusivamente de tecnologías de servidor, y no de cliente.
Pero suerte!
__________________
..:: moNTeZIon ::..
  #10 (permalink)  
Antiguo 13/03/2007, 06:40
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 20 años
Puntos: 7
Re: No encuentro solución en envio por POST

Cita:
Iniciado por moNTeZIon Ver Mensaje
Por mi parte no consigo encontrar algo que me ayude a realizar el envío, haciendo uso exclusivamente de tecnologías de servidor, y no de cliente.
Pero suerte!
En realidad se puede hacer, pero el problema está en que también quieres mostrar la interacción con el otro servidor al usuario final (por ejm, que redireccione su navegador y talvez otras cosas) y es ahí donde necesariamente tienes que usar este u otro tipo de trucos.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #11 (permalink)  
Antiguo 13/03/2007, 10:27
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 11 meses
Puntos: 9
Re: No encuentro solución en envio por POST

Si xknown, por las pruebas que hice en su dia, llegué a comprobar que enviaba las variables al servidor de destino. De hecho me devolvía la página de respuesta en un string. Pero el hilo se queda en el servidor actual...
Ahora me has asegurado que para ello es necesario aplicar estas técnicas, que no es otra cosa que provocar un envío dinámico de un formulario, para así obtener la respuesta esperada del otro servidor.
Gracias por la aclaración men, todavía tenía mis dudas de que hubiera alguna forma de hacer esto con .NET
Venga, un saludo.
__________________
..:: moNTeZIon ::..
  #12 (permalink)  
Antiguo 09/04/2007, 04:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 5
Antigüedad: 17 años, 8 meses
Puntos: 0
Información Re: No encuentro solución en envio por POST

Para enviar variables entre servidores distinto de manera "oculta" (AJAX p.e) para el usuario hay que configurar las opciones de seguridad en el iexplorer, el firefox no lo permite por motivo de seguridad.

La mejor opcion en mi opinion es crearse un pequeño CGI en PERL que si permite ese envio.
Saludos
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 10:50.