如果语句的评估为布尔值而不管内容如何

时间:2014-05-28 15:15:08

标签: asp.net-mvc razor

我不确定自己是否会发疯,但我在视图中遇到了一个奇怪的错误,VS Array.IndexOf(...)中显示的错误是:Cannot implicitly convert type 'int' to 'bool'

  • 如果我将光标移到Array.IndexOf(...)的末尾,则会显示) expected

  • 如果我删除了if语句,则没有错误。

  • 如果我在if()中添加了任何内容,则会给出同样的错误。

  • foreach在另一个foreach循环中

    <!-- HTML -->
    @foreach (HROC.Models.OUNode node in OUNode.Children)
        {
        string textBranchId = @node.Position.ToString();
    
        if (Array.IndexOf(collapseSArray, "unit_" + textBranchId) <  0)
        {
            collapseClass = "collapse";
        }
        else
        {
            collapseClass = "in";
        }
    <!-- HTML -->
    ...
    }
    

1 个答案:

答案 0 :(得分:0)

如果有疑问,请将事情分开。同时删除多余的@符号。

@foreach (HROC.Models.OUNode node in OUNode.Children)
{
    //Removed @ before node...
    string textBranchId = node.Position.ToString();

    //Split out this line
    var indexPos = Array.IndexOf(collapseSArray, "unit_" + textBranchId);

    if (indexPos < 0)
    {
        collapseClass = "collapse";
    }
    else
    {
        collapseClass = "in";
    }
}