我有以下用 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 => value
C#
我已经根据以下内容编写了上述内容: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
在当前上下文中不存在。如何将它暴露给foreach
C# 中的循环?因为这在 PHP 世界中很好。