每个项目限制每个会话用户输入一次

时间:2014-11-25 19:44:36

标签: c# asp.net

我在GridView中显示的数据库中有产品列表。网格中的每一行都有一个文本框和按钮以及产品的名称和描述。该按钮用于发送该特定按钮的注释。现在一切正常我想要限制每次会话的评论一次。因此,用户可以发送产品评论,然后按钮将被禁用。现在产品数量可以是10或1000.实现这一目标的最佳和最有效的方法是什么。我应该在会话或数据库中保存产品ID和会话ID,还是可以有其他简单方法。

我没有提到任何代码,因为我只是要求最好的方法来完成任务。

1 个答案:

答案 0 :(得分:1)

让我们理解您的建议的含义:

使用会话:

您正在服务器上打开会话密钥并映射已经评论过的ID列表。您可以针对此会话匹配特定产品,并确定是否可以对产品进行评论。

专业人士非常优雅且易于维护的解决方案 缺点:请求您的网站(例如来自其他浏览器)的用户将能够评论产品,因为会话是每个连接而不是每个用户

使用数据库:

与会话相同,只有数据是持久的,因为它是由数据库存储的。

优点:只要用户能够评论产品,就可以完全控制 缺点:必须使用唯一键(如id)标识每个用户,并将该信息存储在数据库中

其他替代方案:

客户端

Cookie - 设置将存储信息的Cookie。 专业人员:每台计算机都保存自己的Cookie(不是服务器)缺点:每个Cookie需要识别用户(否则同一台计算机上的多个用户将会被封锁)。饼干可以清洗

客户端的本地存储 - 与此相关的Cookie

所以它是semms你需要为它工作一点......否则在某些情况下功能性会有问题

相关问题