我必须承认我是 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/