查询字符串参数没有值,只有键

时间:2012-09-07 09:55:35

标签: asp.net query-string

我对asp.net中的查询字符串有疑问:

带有查询字符串参数的

标准查询字符串是"www.mysity.url?key1=value1&key2=value2",但我只需要检查是否有查询字符串键...是的,正确的决定之一:www.mysite.url?reset=true,但这个多余的语法我

在标记中我使用类似"<a href='UrlHelper.GetResetUrl()'>Reset</a>"的内容,此方法返回"www.mysity.url?reset",但在用户端标记中我有“重置”

3 个答案:

答案 0 :(得分:3)

如果您没有指定参数的名称,则将其视为null

其值为reset

所以你必须按如下方式检查:

if(Request.QueryString[null]=="reset")
{
    //Take some reset action
}

答案 1 :(得分:0)

处理查询字符串参数的所有代码都不区分大小写。浏览器(或互联网基础设施的一部分?)可以转换案例。

检查querystring中是否存在reset参数的一种方法:

bool reset = Request.Url.Query.IndexOf("reset", StringComparison.CurrentCultureIgnoreCase) > -1;

答案 2 :(得分:0)

快速而肮脏的解决方案是:

if(Request.Url.Query.Contains("?reset"))
{
    // ok we have a reset
}

假设您有一个标准的重置调用,请询问:www.mysity.url?reset并且重置URL没有其他参数。如果您有,可以简单地检查reset关键字。

此代码HttpContext.Current.Request["reset"]始终返回null,因此,如果您想使其变得更难,那么下一个最好的方法是在网址后手动分析您的密钥。