bra*_*rad 24 asp.net query-string
foo使用asp.net 检查以下url的查询字符串中的参数的正确方法是什么?这甚至可能吗?
http://example.com?bar=3&foo
Run Code Online (Sandbox Code Playgroud)
我试图检查Request["foo"]以及Request.QueryString["foo"]和我得到null两个.我也尝试List使用QueryString集合中的值填充a ,但正如我在下面提到的,它不包括值.
我明白没有价值,但不应该Request["foo"]返回空字符串而不是null?有没有办法找出一个查询字符串密钥是否存在,即使它没有值?
我发现这里是Request.QueryString.AllKeys包含null空白的查询字符串参数.
如下面由James和Dreas所述,正则表达式解析原始URL可能是最好的(也可能是唯一的)方法.
Regex.IsMatch(Request.RawUrl, "[?&]thumb([&=]|$)")
Run Code Online (Sandbox Code Playgroud)
joe*_*lvh 43
您可以使用它null作为键,NameValueCollection它将为您提供逗号分隔的没有值的参数名称列表.
因为http://example.com?bar=3&foo你会使用Request.QueryString[null]它会检索foo.
如果您有多个没有值的参数名称,它将为您提供逗号分隔的值.
因为http://example.com?bar=3&foo&test你会得到foo,test一个价值回来.
更新:
您实际上可以Request.QueryString.GetValues(null)用来获取没有值的参数名称.
你得到null因为foo参数没有值.
......究竟是什么问题?
如果您仍想检查它的存在(虽然它缺少值),请尝试以下方法:
bool doesFooExist = Request.Url.AbsoluteUri.IndexOf("foo=") >= 0 ? true : false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26321 次 |
| 最近记录: |