问题
如何在使用ASP.NET时检查以下URL查询字符串中的foo
参数,这个过程是否可行?
http://example.com?bar=3&foo
我已经尝试过检查Request["foo"]
和Request.QueryString["foo"]
,但两者都返回null
。我还尝试用QueryString
集合中的值填充一个List
,但正如我在下面提到的那样,它不包括该值。
问题
我知道没有这个值,但是Request["foo"]
应该返回空字符串而不是null
,对吗?有没有一种方法可以找出查询字符串键是否存在,即使它没有值?
注释
我在这里发现Request.QueryString.AllKeys
包括空查询字符串参数的null
。
[编辑]
正如James和Dreas在下面所述的那样,使用正则表达式来解析原始url可能是最好(也可能是唯一)的方法。
Regex.IsMatch(Request.RawUrl, "[?&]thumb([&=]|$)")