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