Click here to Skip to main content
11,706,979 members (35,843 online)
Click here to Skip to main content

Tagged as

Remove Request QueryString Key Values for Redirection

, 23 Jun 2010 CPOL 6.1K 1
Rate this:
Please Sign up or sign in to vote.
I wanted to make my page behave in two different modes based on the query string. However it was not strait forward. To make it possible I had to manipulate the URL query string to and remove a key and redirecting it back with a freshly creating URL.

Calling Page

bool isKeyFound = false; // Vital to stop calling recursively
string newQueryString = AppHelper.GetNewQueryString (Request.QueryString,"refresh", out isKeyFound);
if (isKeyFound && newQueryString.Length > 0)
{
    Response.Redirect(Request.Path + "?" +newQueryString);
}

Called Method

/// <summary>
/// Recreate a new URL by removing
/// </summary>
/// <param name="queryString">Page Requested string </param>
/// <param name="removeKey">The key to be removed</param>
/// <param name="isKeyFound">This will be a additional info returned</param>
/// <returns></returns>
public static string GetNewQueryString(System.Collections.Specialized.NameValueCollection queryString, string removeKey,out bool isKeyFound)
{
    string returnVal = string.Empty;
    isKeyFound = false ;
    //Build the new query string.
    for (int j = 0; j < queryString.Count; j++)
    {
        // Anything except the target key
        if (!queryString.GetKey(j).ToLower().Equals(removeKey.ToLower()))
        {
            returnVal += queryString.GetKey(j) + "=" + queryString.Get(j) + "&";
        }
        else
        {
            isKeyFound = true;
        }
    }
    //Remove the trailing '&'
    return returnVal.TrimEnd ('&');
}


Happy coding

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author


You may also be interested in...

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150819.1 | Last Updated 23 Jun 2010
Article Copyright 2010 by Krish Van Colombo
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid