【问题标题】:Saving cookies for voting ASP.NET保存用于投票 ASP.NET 的 cookie
【发布时间】:2012-01-27 14:41:50
【问题描述】:

我的问题很简单,但我找不到最佳解决方案。

我想知道是否有人在 PAGE LOAD 上投票(而不是在他们投票时),如果他们投票了,请更改投票图像,以便他们可以看到他们已经投票了。

我想到的最佳解决方案是保存 cookie,第一个问题是“保存 cookie 并遍历所有帖子以查找 cookie 是否存在是一种好习惯吗?”

第二个问题是:如果是一个好的解决方案,那么保存cookie的方式应该是什么?由于只有注册会员才能投票,所以保留 username 和 postId 就足够了……还是不要?

谢谢

【问题讨论】:

  • 清除cookie会发生什么?用户还应该看到他已经投票了吗?如果他应该这样做,那么 cookie 可能不是最好的解决方案。
  • 我也会保留对 db 的投票。这仅适用于客户端。
  • 对于cookies来说,你说的是不可能的,但如果可能的话,那太好了!

标签: jquery asp.net cookies voting


【解决方案1】:

根据浏览器的不同,cookie 有大小限制,因此这可能不是最佳方法。

您提到您将选票保存在数据库中。当请求页面时,只需查看该表并向下发送适当的图像。

【讨论】:

    【解决方案2】:

    由于您将投票保存在数据库中,因此最好的方法是确定投票是否发生在服务器端并相应地创建页面。

    可以在客户端使用 Javascript 在投票时异步更新数据库和 GUI(就像我们在此处投票时 stackoverflow 所做的那样)。

    【讨论】:

    • 我正在使用 JSON 来更新图像,这不是问题。所以得到正确的图像或投票||来自 db 的 NOTVOTED 是最好的方法吗?
    • 如果是我的项目,我会在 Content 目录中使用两张静态图像,一张用于已投票,另一张用于未投票,并编写 javascript 以在用户单击投票时更新图像的来源。然后,该图像将在他下次访问该页面时用作默认值(这将通过服务器端变量完成)。您不需要从数据库中获取图像。
    • 我没有从 db 获取图像。您昨天投票,今天您正在查看该网站。如果您投票,如何显示正确的图像?
    【解决方案3】:

    最好的方法是使用 Ajax/JQuery 来更新您的图像。使用网络方法

    【讨论】:

    • 在您的问题中您提到“更改投票图像,以便他们可以看到他们已经投票。”,请检查。
    猜你喜欢
    • 2017-04-06
    • 1970-01-01
    • 2014-07-14
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多