.NET: Preserving some, but not all query params during redirect

Posted by kasper pedersen on Stack Overflow See other posts from Stack Overflow or by kasper pedersen
Published on 2010-05-17T22:56:13Z Indexed on 2010/05/17 23:00 UTC
Read the original article Hit count: 362

Filed under:
|
|

Hi all,

Could someone tell me if the code below would achieve what I want, which is: Check if the query parameters 'return_path' and/or 'user_state' are present in the query string, and if so append them to the query string of the redirect URI.

As I'm not a .NET dev and don't have a server to test this on, I was hoping someone could give me some feedback.

ArrayList vars = new ArrayList();
vars.Add("return_path");
vars.Add("user_state");

string newUrl = "/new/request/uri" + "?";
ArrayList params = new ArrayList();
foreach ( string key in Request.QueryString ) {
    if (vars.contains(key)) {
        params.Add(key + "=" + HttpUtility.URLPathEncode(Request.QueryString[key]));
    }
}
String[] paramArr = (String[]) params.ToArray( typeof (string) );
String queryString = String.join("&", paramArr);

Response.Redirect(newUrl);

Thank you :)

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about c#