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

C# 如何检查请求URI是否有任何参数,c#,.net,query-string,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

我在.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

我需要回复是的。我能做吗

我已经有一段时间没有使用这些工具了,但我相信下面的内容应该适合您的需要:

解决方案:

if(Request.QueryString != null && Request.QueryString.Count > 0)
{
     return "YES";
}
else
{
     return "NO";
}
return (Request.QueryString != null && Request.QueryString.Count > 0) ? "YES":"NO";
内联解决方案(如果您只需要这样做):

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上找到更多信息

您必须允许
请求。QueryString
也为
null
(无参数)

要返回
字符串

return Request.QueryString != null && Request.QueryString.Count > 0 ? "YES" : "NO";
要返回一个
bool

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

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

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

但是Request.QueryString==null意味着QueryString不包含参数?修复了抱歉:)这将只检查是否存在任何参数,并将输出“是”,否则输出“否”。希望这有帮助:)@rionmoster
Request.QueryString==null
会在代码示例中引发异常。请看上面我的答案。@Chris-我最初就有这个。正如我提到的,我不确定它是否是necessary@Rionmonster,作为请求是必需的。QueryString可以是
null
。您对内联解决方案的更新仍然错误:
Request.QueryString.Count>0&&Request.QueryString!=null
需要先检查
null
Request.QueryString!=null&&Request.QueryString.Count>0