7

如果您通过 Request[key] 对 Request 的项目进行简单的索引,它会在4 个位置中查找。顺序是什么?有人对该页面的“Cookies、ServerVariables、Form 和 QueryString”进行了猜测。有人有确切消息么?文档将是一个奖励:)

4

3 回答 3

7

public string this[string key] { get; }

声明类型:System.Web.HttpRequest 程序集:System.Web,版本=2.0.0.0

public string this[string key]
{
    get
    {
        string str = this.QueryString[key];
        if (str != null)
        {
            return str;
        }
        str = this.Form[key];
        if (str != null)
        {
            return str;
        }
        HttpCookie cookie = this.Cookies[key];
        if (cookie != null)
        {
            return cookie.Value;
        }
        str = this.ServerVariables[key];
        if (str != null)
        {
            return str;
        }
        return null;
    }
}
于 2009-10-27T19:20:12.333 回答
1

只需使用反射器,您就可以自己看到它。顺序是 QueryString、Form、Cookies,然后是 ServerVariables。

于 2009-10-27T19:22:16.697 回答
1

这是来自一个ASP 站点,但它仍然适用于 ASP.NET:

所有请求对象变量都可以通过调用 Request(variable) 直接访问,无需集合名称。在这种情况下,Web 服务器按以下顺序搜索集合:

  1. 请求参数
  2. 形式
  3. 饼干
  4. 客户证书
  5. 服务器变量
于 2009-10-27T19:23:08.473 回答