Asp.net

Estoy desrrollando un aplicativo web(webform) en Vb.net 2003 necesito enviar datos utilizando el método POST a otra página de un tercero no se como generar este código automáticamente desde la página que estoy haciendo.
Esto es un ejemplo de lo que quiero generar
<form target="ejemplo"
            action="https://www.paypal.com/cgi-bin/webscr" method="post">
            <input value="_cart">
            <input value="[email protected]">
            <input value="30">
            <input value="1">
</form>
Respuesta
1
Una forma de hacerlo podría ser utilizando un control del lado del servidor y setearle la propiedad PostBackUrl.
<form target="ejemplo"
            action="https://www.paypal.com/cgi-bin/webscr" method="post">
            <input value="_cart">
            <input value="[email protected]">
            <input value="30">
            <asp:Button ID="btnSubmit" runat="server" Text="Submit" PostBackUrl=""https://www.paypal.com/cgi-bin/webscr" />
</form>

1 respuesta más de otro experto

Respuesta
1
¿Puedes, por favor indicarme exactamente dónde tienes el problema?
¿Quieres hacer el formulario desde el codebehind o por el contrario utilizas la vista de diseño?
Lo estoy realizando desde la vista diseño. Le explico tengo un formulario (webforms) donde el usuario realiza su pedido(es como un carro de compras) una ves que lo realiza debe realizar el pago a través de tarjeta de crédito, este servicio de tarjeta de crédito es proporcionado por un tercero (banco x) es decir debo enviar los datos de la transacción realizada por el cliente a una página que suministra el tercero (banco x) y la forma de enviarle la información del pedido (transacción, nombre cliente, monto y otros) es utilizando el método POST es algo parecido al ejemplo que le muestro en la pregunta.
La pregunta que le hago es si hay una forma de generar ese código utilizando comandos de VB.net (webforms) desde mi webform y que este evento se ejecute desde un botón, o Debo escribir manualmente el código y ejecutar la forma. Esa es mi duda.
Lo que quieres hacer es simplemente HTML, lo puedes indicar todo en la vista de diseño de tu visual studio, con ejecutar manualmente el form tendría que bastar te paso un par de enlaces que te pueden ser de utilidad:
Manual HTML: http://www.desarrolloweb.com/manuales/21/
Formularios HTML: http://www.desarrolloweb.com/articulos/647.php
Si te queda alguna duda sobre el formato de formulario que te tiene que quedar pregúntame.
Ok... ¿Es un HTML pero como lo genero desde mi webform principal? Es decir como lo ejecuto desde la páginas (¿webformprincipal) y como le paso las variables? Esto debe hacerse cada ves que un usuario vaya a pagar
Yo he hecho procesos similares y lo que suelo hacer es meter una página intermedia entre el formulario de captación de datos y la página de la entidad bancaria. En esta página se le avisa al usuario de que va a pasar al dominio de la entidad bancaria, que confirme el pedido con los datos que se muestran. Al confirmar esta página mediante un botón se enviarían los datos a la entidad bancaria.
Esta página contiene un formulario cuyo action va a ser la página de la entidad bancaria y cuyo method va a ser post, los datos que quieres que el cliente sepa van en labels y los que no en campos ocultos (hidden)
Tú página principal simplemente tiene que redireccionar a esta página nueva.
Ok... muchas gracias por la respuesta voy hacer lo que me recomienda. Pero aun tengo una duda en cuanto a las variables necesito mandar valores. Ejemplo de lo que le quiero decir:
<input type="hidden" name="cuenta" value="12345678">
De la forma como se lo explico en el ejemplo No me es funcional porque el valor va hacer fijo (12345678) necesito que ese valor sea de acuerdo a lo que el usuario coloque, es decir capturar el valor que indique el usuario y enviarlo a la página del tercero.
Vale, a ver, tienes 2 opciones, o ponerle la etiqueta runat server al control con lo que ya será visible desde el codebehind (archivo .cs) o directamente puedes emplear los controles que te proporciona el propio visual studio, es decir, en vez de un hidden puedes emplear un asp:hiddenfield, de igual manera que con lo anterior, el control será visible desde la parte de datos y le podrás asignar el valor que quieras.
No se si, asp:hiddenfield sea aceptado por el framework 2.0... Pregunto si no hay una forma de que el valor que tome el value sea por medio de una variable y no colocarlo manual(12345678).
<input type="hidden" name="cuenta" value="12345678">
este es un ejemplo de lo que quiero decir:
variable="12345678"
Variable es cualquier valor que introduce el usuario
Luego colocar el código de este forma.
<input type="hidden" name="cuenta" value=variable>
No se si esto se puede hacer.
Es lo que te comentaba en el punto anterior, puedes asignarle al control el valor de una variable, esto se suele hacer en el code behind, para ello tienes que agregarle la propiedad runat=server a tu control quedando de la siguiente manera:
<input type="hidden" name="cuenta" value="12345678" runat="server" id="cuenta">
Con lo que en la parte del codebehind para asignarle el valor sólo tendrías que hacer lo siguiente:
string variable="12345";
cuenta.value=variable;
Fíjate en que el identificador del control es el id.
Con el asp:hiddenfield se hace de manera parecida y sí que es aceptado por el framework 2.0
Gracias experto le agradezco mucho la solución que me ha dado, gracias a esta pude solucionar este problema, también encontré la forma de generar automáticamente el código HTML y puedo también invocar la página.. Muchas gracias por su atención.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas