【问题标题】:Request() vs Request.QueryString()Request() 与 Request.QueryString()
【发布时间】:2010-07-05 09:49:22
【问题描述】:

我最近开始使用Request("key") 而不是Request.QueryString("key") 来访问我的查询字符串值。但是我读过:

从 System.Web.HttpRequest.Cookies 中获取指定的对象, System.Web.HttpRequest.Form,System.Web.HttpRequest.QueryString, System.Web.HttpRequest.ServerVariables

因此,如果我有一个相同的查询字符串键和 cookie 键,则返回哪个值?

【问题讨论】:

    标签: asp.net vb.net


    【解决方案1】:

    它们按以下顺序检查:

    1. QueryString
    2. Form
    3. Cookies
    4. ServerVariables

    搜索是短路的,所以只要找到匹配的键,就会返回值。

    因此,为了回答您的问题,匹配的 QueryString 项目优先于 Cookies

    【讨论】:

    • 有关更多信息,请参阅 Scott Hanselman 不久前在 hanselman.com/blog/… 上发表的关于此的出色博客文章
    • 谢谢卢克。我看到使用它的唯一问题是,如果我要对是否存在查询字符串执行 If 语句,如果存在同名 cookie,则使用“请求”将返回 true。因此,我想我会坚持使用“Request.Querystring”。另外,对于其他开发人员来说,立即确切地知道从何处请求此信息将很有用。但是,很高兴知道这种速记方式可供将来使用,干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多