Asp.net 在foreach语句中跳过嵌套的if语句
我想写一个博客。我有两个具有一对多关系的模型,消息和注释,其中按消息可以有多个注释。 现在,我尝试只获取属于某条消息的注释。如果对某条消息进行注释,则会将messageId的值传递给comments模型中的ComToMes。使用if语句,我想检查ComToMes是否等于messageId,如果是,则注释属于该特定消息并且应该显示。问题是,如果我在调试器中尝试使用一些断点,if stament就会被跳过,就像它不存在一样 我已经看到了一些工作,例如在if语句中使用文本标记,但这似乎对我不起作用 以下是我的观点Asp.net 在foreach语句中跳过嵌套的if语句,asp.net,asp.net-mvc,razor,asp.net-mvc-5,Asp.net,Asp.net Mvc,Razor,Asp.net Mvc 5,我想写一个博客。我有两个具有一对多关系的模型,消息和注释,其中按消息可以有多个注释。 现在,我尝试只获取属于某条消息的注释。如果对某条消息进行注释,则会将messageId的值传递给comments模型中的ComToMes。使用if语句,我想检查ComToMes是否等于messageId,如果是,则注释属于该特定消息并且应该显示。问题是,如果我在调试器中尝试使用一些断点,if stament就会被跳过,就像它不存在一样 我已经看到了一些工作,例如在if语句中使用文本标记,但这似乎对我不起作用 以
<div class="row">
<div class="col-md-10">
@*Places al the comments and decodes the html from the ckeditor*@
@foreach (var message in Model)
{
foreach (var comments in message.Comments)
{
if (comments.ComToMes == message.MessagesId)
{
<div class="well" id="CommentBox">
<h7>@comments.WhenCreated</h7>
@Html.Raw(System.Web.HttpUtility.HtmlDecode(comments.Comments_body))
</div>
}
else if(comments == null)
{
<h2>Be the first to comment</h2>
}
}
}
</div>
</div>
@*放置所有注释并从编辑器中解码html*@
@foreach(模型中的var消息)
{
foreach(message.comments中的var注释)
{
if(comments.ComToMes==message.MessagesId)
{
@创建时的注释
@Html.Raw(System.Web.HttpUtility.HtmlDecode(comments.comments\u body))
}
else if(注释==null)
{
第一个发表评论
}
}
}
编辑1
经过进一步的研究,我发现每个语句的嵌套都没有被计算。如果
语句计算了else if
语句的值吗?不,它没有计算整个if语句的值isnt@Kapobajza看起来嵌套的for-each语句甚至没有得到evalueted@ruinerwarrior你能发布你的模型代码吗?@ruinerHarriorModel
和message.Comments
集合包含元素,还是为空?如果存在元素但仍跳过代码,请尝试删除所有临时internet和.net符号文件,清理并重新生成解决方案,然后重试。