线程/嵌套注释

时间:2010-09-21 20:10:07

标签: asp.net threaded-comments

任何人都知道如何创建线程/嵌套注释系统?我想学习如何为我正在处理的博客做这个。我根本找不到任何有用的东西。肯定必须知道它是如何完成的。

3 个答案:

答案 0 :(得分:1)

很难相信,经过8年的asp.net,没有人费心去编写一篇简单的文章或教程,介绍如何在数百万博客上如此常用的线程评论。搜索引擎像往常一样只产生垃圾。再说一次,谷歌是一个毫无价值的东西,你知道什么。

这就是asp.net需要这么长时间才能学习的原因。并不是脑部手术,只是超出书本中存在的基本内容这一事实是不可能的,因为信息不存在。

我花了一整天时间考虑这个问题,最后使用单个表进行注释解决问题,两个存储过程分别处理注释和回复,listview用于显示缩进注释的确切位置以及注释表单的另一个listview 。最重要的是,线程的深度没有限制,并且缓存了注释。

我的评论数据库表,我创建了一个新列,用于存储在存储过程中计算的排序值。对于注释,排序值设置为等于其自己的注释id值,对于注释回复,该值设置为等于父排序ID与其自己的注释id连接,用点分隔。如果排序ID没有点,则它是顶级注释。一个点等于一个深度,两个等于两个深度等。

因此,我必须编写的唯一代码是两个简单的存储过程和一些C#来获取点数并为缩进分配适当的css值。我不需要多个带有外键的表,父子ID关系,复杂的代码或者在论坛上真正懒得回答的少数人通常建议的任何异乎寻常的建议。

快速,高效,像魅力一样。常识规则!

答案 1 :(得分:0)

如果您正在为编辑器提供建议,请使用WMD: The Wysiwym Markdown Editor

  

WMD是一个简单,轻量级的HTML编辑器,用于博客评论,论坛帖子和基本内容管理。 您可以使用一行代码将WMD添加到任何textarea。添加更多一行的实时预览。 WMD几乎适用于所有现代浏览器,现在完全免费使用。

至于数据模型,除了其他考虑之外,您还必须决定评论嵌套的深度。

public interface IComment
{
    public int ID;
    public string Body;
    public string OwnerID;
    public DateTime CreatedOn;
    ...        
}

答案 2 :(得分:0)

考虑一下你必须在这里导航的一些问题。垃圾邮件,注册,规模等

如果您想利用一些预先构建的解决方案,请考虑: