martes, 13 de enero de 2009

Pasar valores de pagina asp o php o html a pagina aspx

Pareciera que es muy difícil pasarle los datos que he ingresado en una página html hacia una página asp.net... pero, nada de eso, es lo más simple del mundo... vamos a demostrar cómo hacemos esto mediante un ejemplo.

El ejemplo consiste en pasar el nombre y apellido desde un formulario que se encuentra en una página html llamada htmlpage1.htm...






y la página aspx que recibirá los datos se llama webform1.aspx.
1.- Empezamos pasando valores con el método GET:
Para ello, este sería el código de htmlpage1.htm










Luego, mi página webform1.apsx tendría este código:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim FirstName As String = Request.QueryString("txtFirstName")
Dim LastName As String = Request.QueryString("txtLastName")

Response.Write(FirstName & " " & LastName)
End Sub

Hagamos la prueba, ejecuta la página htmlpage1.htm... ingrésale valores y luego presiona el botón.... verás que la página webform1.aspx recibirá los datos y luego los mostrará.

2.- Ahora haremos la misma operación, pasar valores de la página html a la página aspx, pero mediante el método POST:
veamos cuál sería el código de la página htmlpage1.htm










Dense cuenta que lo único que ha cambiado es la forma de envío de datos, ahora estamos usando el método POST.
Y este sería el código para la página webform1.aspx
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim FirstName As String = Request.Params("txtFirstName")
Dim LastName As String = Request.Params("txtLastName")

Response.Write(FirstName & " " & LastName)

End Sub

Haga la prueba, ejecute la página htmlpage1.htm y luego presione el botón para que se envíen los datos... verá lo simple que resulta esto.

Si se habrán dado cuenta, no he hablado de php... pero es lo mismo
Ahora que hemos terminado, viene la pregunta:
cuál es el mejor método a usar?
La respuesta es: depende.
Casi siempre es mejor usar POST, pero a veces es necesario usar GET, escucha este caso:
A veces necesitamos un id en la url... que permitirá mostrar contenido en la página según ese id... y eso no se puede hacer mediante el método POST, el método POST necesita al menos 2 páginas para funcionar...una que envía y una que recibe... el método GET no.... tú puedes enviar una url con este formato mediante email: http://www.google.com/search?complete=1&hl=en&q=get+or+post&aq=f&oq= y la persona que lo reciba podrá ver la información que le envías... sin necesidad de llenar algún formulario previamente... osea persiste en el tiempo.

Obviamente, falta mencionar las clásicas razones por qué es mejor un método que el otro(que los datos se ven en la url cuando es GET, que la cantidad de caracteres a pasar es limitada en GET, etc), pero eso no es necesario repetirlo.
Pero aquí hay bastante info que les permitirá saber las diferencias y cuándo usar uno u otro método:
http://www.cs.tut.fi/~jkorpela/forms/methods.html

;)

No hay comentarios.: