Solved c# read query string from referering page

Posted on 2010-09-21
Last Modified: 2013-11-07

I know you can access parts of the query string in using Request.QueryString["session"]

Does anybody know how to access the various parts of the query string of the refering page?
Question by:zattz
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 10

Expert Comment

ID: 33731511

To the best of my knowledge that is simply not possible. To achieve this you would have to re transmit from the previous page ie place them in hidden form values or append them to the link address



Expert Comment

ID: 33731513
Request.QueryString returns the variables passed to the webpage via the GET method.


Response.Write("<br>" + Request.QueryString("variable1"));
Response.Write("<br>" + Request.QueryString("variable2"));

Open in new window

LVL 10

Expert Comment

ID: 33731523
however having just said that you could get some of that detail out of Request.ServerVariables("HTTP_REFERER") if it is set by the browser however it is not always so you cant account for it
Increase Agility with Enabled Toolchains

Connect your existing build, deployment, management, monitoring, and collaboration platforms. From Puppet to Chef, HipChat to Slack, ServiceNow to JIRA, Splunk to New Relic and beyond, hand off data between systems to engage the right people.

Connect with xMatters.


Author Comment

ID: 33731542
I'm looking for a way to parse the referer so I can access it in a nice way like the request's parameters... ie: Referer.QueryString["session"]
LVL 10

Accepted Solution

james-ct16 earned 500 total points
ID: 33731601
So just to extend my last post further, if the browser does include the refering page then you would have to pick the key pairs out yourself through string manipulation. Code example attached it will need more error checking.

I must stress this is not a reliable method though.

What you should be doing is submitting these values as part of a form or as part of your link.

string refer = Request.ServerVariables("HTTP_REFERER");
            if (!string.IsNullOrEmpty(refer) && refer.Contains("?"))
                refer = refer.Substring(refer.IndexOf("?")+1);
                string[] keyValuePairs = refer.Split('&');
                Dictionary<string, string> queryString = new Dictionary<string, string>();
                foreach (string s in keyValuePairs)
                    string[] pair = s.Split('=');
                    if (pair.Length == 2)
                        queryString.Add(pair[0], pair[1]);


Open in new window


Author Comment

ID: 33731627
           string r = Request.ServerVariables("HTTP_REFERER");
            r = r.Substring(r.IndexOf("?") + 1);
            HttpRequest h = new HttpRequest("", "", r);

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question