在帖子下面显示评论ASP.net Webmatrix

在帖子下面显示评论ASP.net Webmatrix,asp.net,webmatrix,Asp.net,Webmatrix,我正在建立一个网站,那里将有帖子和他们各自的评论 我显示帖子的方式是循环浏览记录并将它们放入一个div。此外,我还有另一个查询从comments表中获取数据,该表只提供与单击帖子相关的注释 问题是,当我使用foreach循环在同一级别的posts div下面的单独div中显示注释时,注释会显示在所有其他post下。我尝试在这里使用$thisenter代码.sibling和$this.children等,但都不起作用 在jquery中,我隐藏了document.ready上的comment div

我正在建立一个网站,那里将有帖子和他们各自的评论

我显示帖子的方式是循环浏览记录并将它们放入一个div。此外,我还有另一个查询从comments表中获取数据,该表只提供与单击帖子相关的注释

问题是,当我使用foreach循环在同一级别的posts div下面的单独div中显示注释时,注释会显示在所有其他post下。我尝试在这里使用$thisenter代码.sibling和$this.children等,但都不起作用

在jquery中,我隐藏了document.ready上的comment div,并在点击帖子时显示出来

下面是一段代码:

@foreach(var row in selectposts)
{
  <div id ="posts">@row.posts</div>
  @foreach(var row in selectcomments)
  {
  <div id ="comment">@row.comments</div>
  }
}

试着这样做:

@{
    var db = Database.Open("MyDatabase");
    var postsQuery = "SELECT * FROM Posts";
    var commentsQuery = "SELECT * FROM Comments WHERE PostId = @0";
}

@foreach(var post in db.Query(postsQuery)){
    <div class="post@post.Id">@post.PostContent</div>
    @foreach(var comment in db.Query(commentsQuery, post.Id)){
        <div class="comment@comment.Id">@comment.CommentContent</div>
    }
}
我刚刚把它直接输入SO,但它应该在附近的某个地方


jQuery在您的OP中工作正常,因为您始终使用相同的div ID。在本例中,每个post div都有一个唯一的Id,例如post127,这样jQuery就可以单独引用它们。

看起来您是在@row.posts中输出所有post的。您可能需要循环此posts,因为firstposts正在循环,而div Id posts正在页面上输出不同的posts。问题是我只想在帖子下面显示所有相关评论,因此使用另一个循环。但这在某种程度上显示了第一篇帖子对所有其他帖子的评论。希望这能解释这种情况。谢谢你的回复。我不是剃须刀专家,但看起来你的代码应该可以工作。这可能与使用jQuery隐藏/显示有关。您是否尝试在不使用jquery的情况下输出页面,以查看它是否在相关帖子下正确输出?它在所有其他帖子下显示注释,因为它正在对所有可用帖子执行第二个for循环。您是对的,这与jquery有关,但我尝试了$this、$this.children和$this.sildrens来显示相关的注释,但不幸的是没有任何收获。谢谢。如果你能发布你的jquery代码,那会很有帮助的