如何检查请求URI是否有任何参数

时间:2011-07-27 13:55:18

标签: c# .net query-string

我在.NET上使用C#,在URI请求后调用。我需要检查这个URI是否包含一些参数。

例如:

http://www.website.com/page.aspx?ID=9           // must return YES
http://www.website.com/page.aspx?ID=9&Page=2    // must return YES
http://www.website.com/page.aspx                // must return NO

有可能吗?当然我无法知道URI中每个参数的名称,因此对于随机查询字符串如:

http://www.website.com/page.aspx?RandomParameter=1

我需要返回YES。我可以做吗?

3 个答案:

答案 0 :(得分:7)

您必须同时允许Request.QueryStringnull(无参数)。

返回string

return Request.QueryString != null && Request.QueryString.Count > 0 ? "YES" : "NO";

返回bool

return Request.QueryString != null && Request.QueryString.Count > 0;

答案 1 :(得分:5)

自从我使用这些产品已经有一段时间了,但我相信以下内容应该符合您的需求:

<强>解决方案:

if(Request.QueryString != null && Request.QueryString.Count > 0)
{
     return "YES";
}
else
{
     return "NO";
}

内联解决方案(如果您只需要这样做):

return (Request.QueryString != null && Request.QueryString.Count > 0) ? "YES":"NO";

您可以在Request.QueryString here上找到更多信息。

答案 2 :(得分:2)

尝试此方法,如果请求的页面定义了任何querystirng参数,则返回true,否则返回false

if (Request.QueryString.HasKeys())
{
    Response.Write("The requested page URI has parameters");
}