这是我的问题:

如果我的 url 有 QueryString ?asdasdafa 我可以处理它:if(HttpContext.Current.Request.QueryString.HasKeys())
但是如果我的 url 有 QueryString ?asdasasfasdas&brand=Sony 那么它将失败并出现 null 异常,因为它实际上有一个键,而另一个没有它。有没有简单的检查方法

if(HttpContext.Current.Request.QueryString.KeysCount ==
HttpContext.Current.Request.QuesryString.ValuesCount))

最佳答案

我不认为你需要这样做,做一个简单的空检查就足够了

if(Request.QueryString["asdasdafa"]==null)
{
   // value missing
}
asdasdafa 甚至不作为 QueryString 上的键之一包括在内这一事实不会使您的应用程序抛出异常。

编辑

根据评论,您可以按如下方式浏览存在的键:
foreach (var item in Request.QueryString.AllKeys)
{
   if (Request.QueryString[item] == null)
                //value missing

}

关于c#如何检查QueryString Values计数是否与键计数具有相同的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8143622/

10-13 03:41