我的视图中有以下 C# Razor:
@{var activeFilters = 0;}
@foreach (string key in Request.QueryString)
{
string value = Request.QueryString[key];
if (!String.IsNullOrEmpty(value))
{
if (key.ToLower() != "filter" || key.ToLower() != "page" || key.ToLower() != "gridtype")
{
activeFilters++;
}
}
}
这将遍历查询字符串,并且计数有许多具有有效值来填充 activeFilters var。它还忽略过滤器、页面和网格类型。
这里有些例子:
?page=1 (0)
?filter=&other=test (1)
?filter&other=test (1)
我遇到的问题:
- 它不会忽略键过滤器、页面和网格类型
- 如果查询键不等于例如
?page
错误,它会中断Object reference not set to an instance of an object.