Display QueryString and Form its on Page

I know this probably is one of the most common posts out on the web (for .Net coders), but I can never seem to find it when I need it. So it is here for my reference.

When you are trying to debug an ASP.Net page and you need to see the form collection after a POST or the QueryString (for convenience) for a GET or POST, simply copy the method add it to a page and call it from one of the Page Lifecycle Event Handlers, such as OnInit, OnLoad, etc. I think it is poor practice to hide this output in the body of a page as a comment so I am not doing that (and strongly recommend that you don’t do that either) … simply remove the code or call (if you add it to a library as a static method). I have seen too many people leave the output as commented (html) code … simply bad.

Nonetheless, here is the code snippet:

///
/// Display the QueryString Collection and Form Collection information for a ASP.Net Page
///

private void RenderRequestInfo() {

//Iterate the Request.QueryString collection
Page.Response.Write(string.Format(“ Request.QueryString ({0})
“, Page.Request.QueryString.Count.ToString()));
foreach (string queryItem in Page.Request.QueryString) {
Page.Response.Write(queryItem);
try {
Page.Response.Write(“='” + HttpUtility.HtmlEncode(Page.Request.QueryString[queryItem]) + “‘
“);
} catch (Exception ex) {
Page.Response.Write(string.Format(“=[Error during render.] {0}
“, ex.Message));
}
}
Page.Response.Write(”
“);

//Iterate the Request.Form collection
Page.Response.Write(string.Format(“ Request.Form ({0})
“, Page.Request.Form.Count.ToString()));
foreach (string formItem in Page.Request.Form) {
Page.Response.Write(formItem);
try {
Page.Response.Write(“='” + HttpUtility.HtmlEncode(Page.Request.Form[formItem]) + “‘
“);
} catch (Exception ex) {
Page.Response.Write(string.Format(“=[Error during render.] {0}
“, ex.Message));
}
}
Page.Response.Write(”
“);
}

Cheers!