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

本文关键字:一个 输入 项目 会话 用户 | 更新日期: 2023-09-27 18:32:01

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

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

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

让我们了解一下您的建议的含义:

使用会话:

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

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

使用数据库:

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

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

其他选择:

客户端上的 Cookie - 设置一个存储信息的 Cookie。优点:每台机器都保存自己的cookie(而不是服务器) 缺点:每个cookie都需要识别用户(否则同一台计算机上的多个用户将被阻止)。饼干可以清洗

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

所以它看起来你需要

为它工作一点......否则在某些情况下功能会有问题