jueves, 26 de mayo de 2011

ASP.NET - Acceder a QueryString desde PageMethod

querystring Un problema frecuente que leo en los foros es el no poder acceder desde un PageMethod a los párametros que vienen en la url, osea los querystrings.

Hay un artificio muy simple y que funciona perfectamente para solucionar este asunto.

1.- Declara una variable de tipo shared, le asignas el valor del querystring al cargar el Page_Load de la página:

Private Shared did As String = String.Empty
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
did = HttpContext.Current.Request.QueryString("did")

End Sub


2.- Para acceder al querystring desde el PageMethod, simplemente haces uso de la variable que recibió el valor del querystring, en este caso did:


<System.Web.Services.WebMethod()> _
Public Shared Function checkCodeAvailability(ByVal code As String) As String

If String.IsNullOrEmpty(did) Then Return "Error"

        Dim i As Integer = verificar_informacion_en_la_bd(code, did)
If i = 0 Then
Return "El código está disponible!"
        Else
Return "El código ya está siendo usado!"
        End If

End Function


Si analizan el PageMethod, verán que hago uso de la variable did, el cual posee el valor del querystring. Así de simple.


Espero que les sea de utilidad ;)

No hay comentarios.: