-2

我有以下用 PHP 编写的 for 循环:

$activesFilters = 0;

foreach ($_GET as $key => $value) {

    if(!empty($value)) $activesFilters++;

}

if(isset($_GET['Filter'])) { $activesFilters = $activesFilters - 1; }

if(isset($_GET['CustomFilter'])) { $activesFilters = $activesFilters - 1; }

if(isset($_GET['showArchived'])) { $activesFilters = $activesFilters - 1; }

我想将它转换为 ASP.NET C# Razor。

到目前为止,我有:

int activeFilter = 0;

@foreach(Request.QueryString as key in value) {
   if(!empty(value)) activeFilters+1;
}

@if(Request.QueryString['Filter']) activeFilters = activeFilters - 1;

@if(Request.QueryString['CustomFilter']) activeFilters = activeFilters - 1;

@if(Request.QueryString['showArchived']) activeFilters = activeFilters - 1;

这是foreach我感到困惑的循环。

因为我不明白如何处理key => valueC#

我已经根据以下内容编写了上述内容:http: //msdn.microsoft.com/en-us/library/ttw7t8t6 (v=vs.90).aspx但它没有显示任何处理键+值部分的示例.

更新:

基于以下的一些帮助:

@int activeFilters = 0;

@foreach (string key in Request.QueryString)
{
    string value = Request.QueryString[key];

    if(String.IsNullOrEmpty(value)){
        return activeFilters+1;
    }

}

但是它说activeFilters在当前上下文中不存在。如何将它暴露给foreachC# 中的循环?因为这在 PHP 世界中很好。

4

1 回答 1

2
foreach (string key in Request.QueryString)
{
    string value = Request.QueryString[key];
    // add your other code here
}

现在,您遍历查询字符串中的所有键,然后使用Request.QueryString[key].

于 2013-11-11T18:26:30.350 回答