如何实施投票系统?

7 language-agnostic voting-system

我需要实现类似于SO投票的功能.我试图围绕这个主题查找一些现有的问题,并注意到大多数人都被困在如何投票上下.我已经过去了.我的问题与投票被投票后如何处理有关.这是我到目前为止所做的.

  1. 为每个答案显示投票,向下和分数.
  2. 当用户单击向上或向下并且图像相应更新时,投票计数已更改.
  3. 将信息保存在db中.谁投票,投票时间,投票类型,userIP,ansID等.

现在的问题.

  1. 我正在使用gridview来显示信息.如何在下一页加载时显示以前投票的答案.我有db中的信息,但我想这样做而不影响性能.我可以在itemDatabound事件中做到这一点,但它看起来不是一个很好的方式来处理它.我想知道是否有更好的方法来处理这种情况
  2. 切换投票:当用户切换投票时,幕后会发生什么.是否删除了以前的upvoted记录?我说它应该被删除但需要确认.
  3. gridview是否是实现此类功能的好方法?

Jon*_*onH 2

为了

1)如果你使用的是gridview,你几乎必须走这条路。但我们需要有关您正在尝试做什么的更多详细信息。

2)当您对同一答案/问题投赞成票然后投反对票时,应检查并删除该答案/问题。请记住,您只能对问题或答案投票 1 票,因此您的数据库表应编写为用户 ID、问题 ID 的唯一行(假设问题是唯一的)。因此,您甚至不应该允许它在表中插入重复的行。

3)stackoverflow是mvc类型的应用程序,您使用的是webforms,因此您可以使用gridview或listview。他们可能只是循环遍历答案并生成 html(因为这是 MVC)。