Asp.Net實現評論蓋樓(含Ajax實現方式)

weixin_34119545發表於2011-07-28

最近專案需要做個仿騰訊文章評論蓋樓的功能,在往上找了找,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方式的了。

原程式下載:http://www.tracefact.net/sourcecode/NestedComment.rar 

Ajax方式程實現:http://download.csdn.net/source/3477456


2011-9-15 8:52:36 附加:

上面那種方式有缺點:每次都要查詢出所有記錄, 用 SQL語句遞迴查詢每篇評論和引用評論效果更佳。

相關文章