我有一个名为视频的模型,它有一系列附加的反馈评论和反馈评论回复。我已经在我的视图中创建了以下循环,以返回反馈评论和相关反馈评论回复的详细信息,但是尽管Model.SelectedScreecast.Feedbacks计数为3,但我可以看到有3条反馈记录,迭代第四次进入循环,并且收到对象引用错误。我的代码如下:
@foreach (var comment in Model.SelectedScreencast.Feedbacks)
{
<li class="comment">
<div class="avatar"> <img src="@Url.Content("~/Images/icons/avatar.png")" width="50" height="50" alt="Avatar" /> </div>
<div class="comment-meta">
<h5 class="author"><a href="#">John Doe</a> - <a href="#" class="comment-reply-link">Reply</a></h5>
<p class="date">January 06, 2011</p>
</div>
<div class="comment-body">
<p>@comment.FeedbackString</p>
</div>
<ul class="children">
@foreach (var reply in @comment.FeedbackReplys)
{
<li class="comment">
<div class="avatar"> <img src="@Url.Content("~/Images/icons/avatar.png")" width="50" height="50" alt="Avatar" /> </div>
<div class="comment-meta">
<h5 class="author"><a href="#">John Doe</a> - <a href="#" class="comment-reply-link">Reply</a></h5>
<p class="date">January 06, 2011</p>
</div>
<div class="comment-body">
<p>reply string</p>
</div>
</li>
}
</ul>
</li>
} 当使用下面的代码时,我能够返回预期的字符串,尽管这没有对页面进行必要的样式设置。
@foreach (var comment in Model.SelectedScreencast.Feedbacks)
{
<li>@comment.FeedbackString</li>
foreach (var reply in @comment.FeedbackReplys)
{
<li>@reply.FeedbackReplyString</li>
}
}当通过调试检查设置对象并使用上面的代码块时,可能会导致此对象的计算结果为未设置为对象实例的对象。任何帮助都将不胜感激。
发布于 2013-06-28 22:25:05
你的前额有问题。
@foreach (var reply in @comment.FeedbackReplys)
应该是:@foreach (var reply in comment.FeedbackReplys)
甚至:foreach (var reply in comment.FeedbackReplys)。
Razor语法以@字符开始代码块,并且不需要显式关闭代码块。因此,第二个@是冗余的,第二个@foreach @也可能是冗余的。
不确定它是否会,但希望这能解决你的问题!
https://stackoverflow.com/questions/17363793
复制相似问题