閱讀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隱藏與現實鍵盤