我正在编写一个简单的博客,我试图实现的功能之一是每篇文章的评论/回复部分。在我的文章视图中,我有一个foreach循环,打印该帖子的所有评论。具有相同类别的多个切换按钮
@foreach (var comments in Model.Post.Comments)
{
if (comments.ReplyToId == 0)
{
<p>@comments.Body <span><a href="#" class="toggleReply">Reply</a></span></p>
<div id="replyTextBox" style="display:none">
@using (Html.BeginForm("Reply", "Comment", FormMethod.Post))
{
<input type="hidden" name="PostId" value="@Model.Post.PostId" />
<input type="hidden" name="CommentId" value="@comments.CommentId" />
<input type="text" name="Body" id="CommentBody" />
<input type="submit" value="Submit" />
}
</div>
}
foreach (var reply in Model.Post.Comments)
{
if(reply.ReplyToId == comments.CommentId)
{
<ul>
<li>@reply.Body</li>
</ul>
}
}
}
我有一个if语句来检查数据库以查看注释是新评论还是评论回复。每个新评论都包含一个回复按钮,以允许用户回复评论。我添加了一些jquery到这个按钮来隐藏或显示回复文本框。
这里是jQuery代码:
@section scripts {
<script type="text/javascript">
$(document).ready(function() {
$('.toggleReply').click(function() {
$('#replyTextBox').toggle();
});
});
</script>
}
我遇到的问题是,由于这些答复文本框的动态性质,只有第一个按钮似乎透露出一个文本框。当我点击其他前面的回复按钮时,只有第一个回复按钮的文本框会受到影响。
道歉为简洁的解释。
'id =“replyTextBox”'...重复的ID ....! – 2013-05-09 20:24:53
'CommentBody'也是一个重复的ID – 2013-05-09 20:26:13
@MohammadAdil,是什么让你觉得它是重复的? – 2013-05-09 20:28:34