如何检测像`?info`这样的查询字符串

时间:2012-09-26 16:15:09

标签: c# asp.net url query-string

我看到了一个使用page.aspx?infopage.aspx?download的网页。我尝试了这个,但它不起作用:

if (Request.QueryString["info"] != null)
{
    Label1.Text = "info";
}

无论如何都要检查用户是否在网址后输入了?info

2 个答案:

答案 0 :(得分:2)

?info会导致空值,因此您的空检查将失败。您想要遍历QueryString集合的Keys以查看是否存在。

示例在MSDN上可用 - HttpRequest.QueryString,您需要使用QueryString.AllKeys进行某种循环/ LINQ查询来检查密钥的存在:

String[] arr1 = Request.QueryString.AllKeys; 
for (loop1 = 0; loop1 < arr1.Length; loop1++) 
{...
}

答案 1 :(得分:1)

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

其值为info

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

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