title: Why Request.QueryString["ReturnUrl"] returning NULL even if it is present in the URL?
body: <p>(This is a more narrow question)</p>
  
  <p>In my asp.net MVC action, I am looking if the ReturnUrl value is in the URL.</p>
  
  <p>My Url looks like this:</p>
  
  <pre><code>http://localhost:56112/user/login?ReturnUrl=/user/settings
  </code></pre>
  
  <p>In my action, I am looking if that querystring value exists, and it is returning NULL?? How can this be?</p>
  
  <p>The code:</p>
  
  <pre><code>if(Request.QueryString["ReturnUrl"] != null)
  {
  
  }
  </code></pre>
  
  <p>Tracing through the application, it is just skipping the if statement's body i.e. it is NULL.</p>
  
  <p>How can this be explained? </p>
  
  <p><b>Update</b></p>
  
  <p>In the controller that checks if the user has logged in, I have a ActionFilter that looks like:</p>
  
  <pre><code>    public override void OnActionExecuting(ActionExecutingContext filterContext)
      {
          base.OnActionExecuting(filterContext);
          // some stuff
          string loginUrl = FormsAuthentication.LoginUrl + "/user/settings;
  
           context.Response.Redirect(loginUrl);
      }
  </code></pre>