7

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

  1. 为每个答案显示投票赞成、反对和分数。
  2. 当用户点击向上或向下并相应地更新图像时,投票计数发生变化。
  3. 将信息保存在数据库中。谁投票,投票时间,投票类型,用户IP,ansID等。

现在的问题。

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

1 回答 1

2

为了

1)如果您使用的是gridview,您几乎必须采取这条路线。但是我们需要更多关于你想要做什么的细节。

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

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

于 2010-03-04T16:36:46.020 回答