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



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

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

有没有办法检查用户是否在网址后输入了?info

?info将导致空值,因此空检查将失败。你想要循环访问 QueryString 集合的键,以查看是否存在一个。

示例可在 MSDN -HttpRequest.QueryString 中找到,您需要将QueryString.AllKeys与某种循环/LINQ 查询一起使用,以检查密钥是否存在:

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

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

它的价值将是info

因此,您必须按如下方式检查它:

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

最新更新