如何实施投票系统?

时间:2010-03-04 16:30:43

标签: language-agnostic voting-system

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

  1. 显示每个答案的向上,向下和分数。
  2. 用户点击时投票数已更改 向上或向下,图像更新 相应地。
  3. 将信息保存在db like中。谁 投票,投票时间,投票方式, userIP,ansID等
  4. 现在问题。

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

1 个答案:

答案 0 :(得分:2)

对于

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

2)当你upvote然后downvote相同的答案/问题时,应该检查和删除它。请记住,您只能对一个问题或答案投1票,因此应编写数据库表,以便它们是userID的唯一行,即QuestionID(假设问题是唯一的)。因此,您甚至不应允许它在表中插入重复的行。

3)stackoverflow是mvc类型的app,你正在使用webforms,所以你可以使用gridview或listview。他们可能只是循环遍历答案并生成html(因为这是MVC)。