The article How to hide URL query information in ASP.NET in C# 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 void SendCommand_Click(object sender, EventArgs e)
{
EncryptedQueryString QueryString = 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());
}
QueryStringReceiver
<form id=”Page 2″ runat=”server”>
<div>
<h2>Information retrieved:</h2>
<asp:Label runat=”server” ID=”QueryStringLabel” />
</div>
</form>
protected void Page_Load(object sender, EventArgs e)
{
// Deserialize the encrypted query string
EncryptedQueryString QueryString = new EncryptedQueryString(Request.QueryString[“data”]);
// Write information to the screen
StringBuilder Info = new StringBuilder();
foreach (String key in QueryString.Keys)
{
Info.AppendFormat(“{0} = {1}<br>”, key, QueryString[key]);
}
QueryStringLabel.Text = Info.ToString();
}