C# IF 部分正常工作,但是,ELSE 部分始终执行

标签 c# asp.net asp.net-mvc-4 razor if-statement

我必须承认我是 C# MVC 4 编程的新手,但我从未在任何其他编程语言中见过如此奇怪的事情...

foreach 里面的 if 部分很好用,但是,即使为真,else 部分也被执行了,这很奇怪。

当我删除“@dag.Datum.ToString("dd/MM/yyyy")”时,if else 有效,但不幸的是这不是我想要的。

在此先感谢您的帮助!

(抱歉,我在代码中使用了荷兰语)

@using (Html.BeginForm())
{
    <br /><br /><table>
    @foreach (var cursist in Model.Cursisten.Where(cursist => cursist.Soort == 1))
    {
        <tr>

            <th>@cursist.Email</th>

            @foreach (var dag in Model.Opleidingsdagen.Where(m => m.chked == true))
            {
                <td>

                    @foreach (var afw in Model.Afwezigheden)
                    {
                        if (afw.DagID.Equals(dag.DagID) && afw.CursistID.Equals(cursist.Email))
                        {
                            @:a @dag.Datum.ToString("dd/MM/yyyy")
                        }
                        else
                        {
                            @:b
                        } 
                    }

                </td>
            }


        </tr>
    }
    <tr>
        <td><br /><br /><input type="submit" value="Afwezigheden aanpassen" class="btn" /></td>
    </tr>
    </table>
}

编辑 这是我总是得到的 html 表输出:

testacc1@test.be     a 14/08/2013 b  b a 15/08/2013  b b
testacc2@test.be     b b     b b     b b
testacc3@test.be     b b     b b     b b

编辑 #2 我的预期输出是:

testacc1@test.be     a 14/08/2013    a 15/08/2013 b
testacc2@test.be     b               b            b
testacc3@test.be     b               b            b

所以总是有一个'b',即使输出了一个'a + date'

最佳答案

没有错误,它工作正常。您有 3 个嵌套的 foreach 循环,每个电子邮件地址产生 6 个输出,每个 <td> 产生 2 个输出,在代码中放置断点并遵循逻辑。我 100% 确定这是您的错误,而不是 MS。

关于C# IF 部分正常工作,但是,ELSE 部分始终执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18079085/

相关文章:

C# 使颜色变暗直到可读的最佳方法

javascript - AngularJS:如何远程获取系统?

c# - ASP.NET Core 3.1 URL 链接到需要授权的页面,给出错误防伪 token 验证失败

c# - 如何在 C#/MVC 4 中的 Html.TextBoxFor 中输入占位符文本

asp.net - 在文本框中设置边距

angularjs - 提供 url 到 angular $http.get/.post 的最佳方式

c# - Entity Framework 中的 System.Data.ProviderIncompatibleException

asp.net-mvc - AJAX POST 到 MVC Controller 显示 302 错误

c# - 忽略 Directory.EnumerateFiles 的异常,跳过那些文件

c# - 如何执行真正耗时的方法? asp.net(定时)