lunes, 17 de septiembre de 2012

Como Enviar variables Por Post

Problema: Enviar Variables por Post

En algunas ocasiones al trabajar en ambientes web se requiere pasar información de una pagina a otra, existen varias forma de hacer esto, hoy les voy a mostrar una función para hacerlo por el método post.

La clase viene documentada para que entiendan como funciona la lógica.

''' <summary> ''' Proporciona los metodos necesarios para enviar POST ''' </summary> ''' <remarks></remarks> Public Class ClsEnviarPost Private _Inputs As New System.Collections.Specialized.NameValueCollection() Private _Url As String = "" Private _Method As String = "post" Private _FormName As String = "form1" ''' <summary> ''' Devuelve o setea la url en la cual queremos recoger las variables ''' </summary> Public Property Url() As String Get Return _Url End Get Set(ByVal value As String) _Url = value End Set End Property ''' <summary> ''' Agrega inputs hidden al formulario ''' </summary> ''' <param name="name"></param> ''' <param name="value"></param> Public Sub Add(ByVal name As String, ByVal value As String) _Inputs.Add(name, value) End Sub ''' <summary> ''' Envia las variables por metodo POST ''' </summary> ''' <remarks></remarks> Public Sub Post() System.Web.HttpContext.Current.Response.Clear() System.Web.HttpContext.Current.Response.Write("") System.Web.HttpContext.Current.Response.Write([String].Format("<html><head></head><body onload=""document.{0}.submit()"">", _FormName)) System.Web.HttpContext.Current.Response.Write([String].Format("<center><form name=""{0}"" method=""{1}"" action=""{2}"" >", _FormName, _Method, Url)) For i As Integer = 0 To _Inputs.Keys.Count - 1 System.Web.HttpContext.Current.Response.Write([String].Format("<input name=""{0}"" type=""hidden"" value=""{1}"">", _Inputs.Keys(i), _Inputs(_Inputs.Keys(i)))) Next System.Web.HttpContext.Current.Response.Write("</form></center></body></html>") End Sub

Modo de uso:

      'Instan ciamos la clase del post
Dim post As New ClsEnviarPost  
'Url a donde nos llegara el post post.Url = "Recibo_JMASJuarez.aspx" 
'Agregamos items nombre-valor post.Add("autorizacion", Request.Form("AuthCode")) post.Add("total", Session("Total")) post.Add("numeroTarjeta", Request.Form("CardNumber"))
'Ejecutamos el post post.Post()

Sencillo así mandamos por post variables a otra pagina de nuestra aplicación.

Saludos y cualquier duda por aquí andamos !!!

3 comentarios:

  1. pendejo, y como lo recibo?

    ResponderEliminar
  2. Hola:
    Me parece lo más ligero que he visto en esta materia y hoy llevo rato buscando. Será tienes un zip con el Ejemplo ya elaborado??? Aun no comprendo bien como anexarlo a mi soft y necesito enviar datos con un método Post a una URL.
    Gracias de Antemano.
    B-)

    ResponderEliminar
  3. Por cierto. Será que me funcionará en VB 6.0???
    Disculpa las molestias.

    ResponderEliminar

Hola Deja Tu Comentario !!!