问题
检查 foo
的正确方法是什么?使用 asp.net 的以下 url 的查询字符串中的参数?这甚至可能吗?
http://example.com?bar=3&foo
我试过检查 Request["foo"]
以及 Request.QueryString["foo"]
我得到 null
对彼此而言。我也试过填充 List
来自 QueryString
的值收藏,但正如我在下面提到的,它不包括值(value)。问题
我知道没有值(value),但不应该
Request["foo"]
返回一个空字符串而不是 null
?有没有办法找出查询字符串键是否存在,即使它没有值?笔记
我找到了 here那个
Request.QueryString.AllKeys
包括 null
对于空白查询字符串参数。[编辑]
如下文 James 所述和 Dreas解析原始 url 的正则表达式可能是最好的(也可能是唯一的)方法。
Regex.IsMatch(Request.RawUrl, "[?&]thumb([&=]|$)")
最佳答案
您可以使用 null
作为 NameValueCollection
的 key 它会给你一个逗号分隔的没有值的参数名称列表。
对于 http://example.com?bar=3&foo
你会用 Request.QueryString[null]
它会检索 foo
.
如果您有多个没有值的参数名称,它将为您提供一个以逗号分隔的值。
对于 http://example.com?bar=3&foo&test
你会得到 foo,test
作为值(value)回馈。
更新:
你实际上可以使用 Request.QueryString.GetValues(null)
获取没有值的参数名称。
关于asp.net - 空的 QueryString 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/400364/