Asp.Net实现评论盖楼(含Ajax实现方式)
最近项目需要做个仿腾讯文章评论盖楼的功能,在往上找了找,Php的倒是不少,不过由于对Php不了解,也没去研究。最后找到一个.net版的。感觉不错,闲话休提,进入正题:
其实评论盖楼的关键就是个递归,通过递归查找出一条评论的所有评论。先看下效果图吧:
思路:加载评论时,先加载当前评论的内容,然后用一个递归函数构造出引用的评论的内容。关键代码:
public static void AddComment(List<MultiLevelCommentInfo> list, List<MultiLevelCommentInfo> quoteList, MultiLevelCommentInfo cmt) { if (cmt.ReferenceId != 0) { MultiLevelCommentInfo find = list.Find(new Predicate<MultiLevelCommentInfo>(cmt.MatchRule)); quoteList.Add(find); AddComment(list, quoteList, find); // 递归调用,只要ReferenceId不为零,就加入到引用评论列表 } else return; }说明:上面代码来自张子阳博客里的例子,后面我改成为Ajax方式的了。
原程序下载:https://www.tracefact.net/sourcecode/NestedComment.rar
Ajax方式实现:https://download.csdn.net/source/3477456
2011-9-15 8:52:36 附加:
上面那种方式有缺点:每次都要查询出所有记录, 用 SQL语句递归查询每篇评论和引用评论效果更佳。
2014-4-26 13:59:24 改进:
下载地址:https://download.csdn.net/detail/a497785609/7256043
最后更新:2017-04-02 06:51:48