The article How to hide URL query information in ASP.NET in VB.NET describes a class named EncryptedQueryString which is used in the next example to illustrate how you can use it in your projects. You have to build two web pages:

– The first one (QueryStringSender) can contain a text box for entering information and a button which is used to send the encrypted query string to the receiving page.

– The second one (QueryStringReceiver) deserializes the query string passed in through the data query string parameter

 

 

QueryStringSender

 

<form id=”Page 1″ runat=”server”>

<div>

Enter some data here: <asp:TextBox runat=”server” ID=”MyData” />

<br />

<br />

<asp:Button ID=”SendCommand” runat=”server” Text=”Send Info” OnClick=”SendCommand_Click” />

</div>

</form>

 

When the user clicks the SendCommand button, the page sends the encrypted query string to the receiving page, as follows:

 

Protected Sub SendCommand_Click(sender As Object, e As EventArgs)

Dim QueryString As New EncryptedQueryString()

QueryString.Add(“MyData”, MyData.Text)

QueryString.Add(“MyTime”, DateTime.Now.ToLongTimeString())

QueryString.Add(“MyDate”, DateTime.Now.ToLongDateString())

Response.Redirect(“QueryStringReceiver.aspx?data=” &     QueryString.ToString())

End Sub

 

QueryStringReceiver

<form id=”Page 2″ runat=”server”>

<div>

<h2>Information retrieved:</h2>

<asp:Label runat=”server” ID=”QueryStringLabel” />

</div>

</form>

 

Protected Sub Page_Load(sender As Object, e As EventArgs)

‘ Deserialize the encrypted query string

Dim QueryString As New EncryptedQueryString(Request.QueryString(“data”))

 

‘ Write information to the screen

Dim Info As New StringBuilder()

For Each key As [String] In QueryString.Keys

Info.AppendFormat(“{0} = {1}<br>”, key, QueryString(key))

Next

QueryStringLabel.Text = Info.ToString()

End Sub