title: Accessing Request.QueryString[foo] is null but the URL shows the query string/parameter is right there
body: <p>I am calling an .aspx script through AJAX. In that script I am attempting to get a value from the query string using <code>Request.QueryString["i"]</code> but it always returns null even though, if I examine the Request object in debug mode, the query string <strong>IS</strong> right there.</p>
  
  <p><strong>Whats going wrong &amp; how can I retrieve the <code>i</code> parameter value from testScript.aspx?i=199?</strong></p>
  
  <p>Heres my simple code:</p>
  
  <pre><code>    public partial class getData : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
              short index = System.Convert.ToInt16(Request.QueryString["i"]);  // BREAKPOINT
          }
      }
  </code></pre>
  
  <p>When I use a break point &amp; examine the Request Object I can see that the <code>Request.QueryString</code> variable is empty(just a {}). <code>Request.QueryString["i"]</code> is null. </p>
  
  <p><strong>If you look at the following img you can see the <em>form</em> has my <code>i</code> parameter(thats my query string <code>.aspx?i=4</code></strong></p>
  
  <p><img src="https://i.stack.imgur.com/D5xAn.png" alt="enter image description here"></p>