Я часто использую переменные Request.QueryString[].
В моем Page_load я часто делаю такие вещи, как:
       int id = -1;
        if (Request.QueryString["id"] != null) {
            try
            {
                id = int.Parse(Request.QueryString["id"]);
            }
            catch
            {
                // deal with it
            }
        }
        DoSomethingSpectacularNow(id);
Все кажется немного неуклюжим и мусорным. Как вы относитесь к своим Request.QueryString[] s?