阅读848 返回首页    go 阿里云 go 技术社区[云栖]


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

  上一篇:go Android获取其他包的Context实例然后干坏事
  下一篇:go android隐藏与现实键盘