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!
