Mostrando entradas con la etiqueta variables por post. Mostrar todas las entradas
Mostrando entradas con la etiqueta variables por post. Mostrar todas las entradas

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 !!!