将数据保存到用户会话

时间:2012-05-04 20:39:35

标签: asp.net

我正在一个在线论坛上工作,无论是注册用户还是未注册用户都可以评论特定主题/文章等...

所以,当用户(已注册/未注册)留下他们的评论时,我们有一个由管理员批准的流程,这是在幕后......

所以我的问题是,当用户发表他们的评论时,我想继续他们的评论,直到他们的评论被管理员批准或直到会议活着

同一个用户可以在主题/文章中留下一条评论或多条评论...... 在同一页面上,我将有其他用户通过管理员批准的不同评论...

我想知道最好的处理方式是什么?

示例:

[some topic here.........................
 ...................................................]

*comments:*

abc ............................... [pendign approval] //this data will be coming from session

xxxxxxxxxxxxxx......................[approved] //all the approved coming from db

aaaaaaaaaaaaaaaaaa..................[approved]
............
..................
.................

2 个答案:

答案 0 :(得分:2)

我认为你不应该依赖会议。您应该在表中以不同的状态存储注释状态。

例如:当新发布评论时,将其保存到状态为0 /“待定”的数据库中

Wen Admin批准,将其更改为1 /“已批准”

如果管理员拒绝,请将其更改为-1 /“拒绝”/删除记录,如果您不想再存储

当页面加载时(对于所有用户/公共),获取按状态

过滤的记录
SELECT ID,COMMENT FROM COMMENTS WHERE STATUS=1 AND POST_ID=@postId

当页面加载时(对于发布评论的所有用户),获取按状态过滤的记录(现在还包括待处理状态)

SELECT ID,COMMENT FROM COMMENTS WHERE 
 ((STATUS IN =1)
 OR (STATUS =0  AND CREATED_BY=@currentUserId)) 
 AND POST_ID=@postId

答案 1 :(得分:0)

您需要自动为匿名用户分配帐户(类似于注册用户)。当用户注册时,您可以升级他们的帐户。通过这种方式,可以使用相同的过程来显示两者的注释。