禁用特定页面上的按钮

时间:2015-05-29 19:38:04

标签: c# asp.net .net asp.net-mvc razor

我在asp.net MVC5中创建了一个Web应用程序。在我的应用程序中,我有一些产品。在每个产品上,记录的用户都可以按下类似按钮。如果已记录的用户已按下它,我该如何禁用like按钮。我希望其他用户能够按下该按钮,但不是已经按下按钮的用户。

我不想在我的数据库中保存所有喜欢该产品的用户,因为我的数据库中有很多值。

任何人都可以告诉我应该怎么做吗?至少我可以在会话中保存一些东西。

谢谢!

2 个答案:

答案 0 :(得分:5)

只需创建一个名为UserLikes

的简单数据库表

它可以有两列:UserId和ProductId

每当用户喜欢某个产品时,请在表格中输入一个条目。然后,当用户正在查看产品页面时,如果您在该表中看到该用户和该产品的条目,请禁用Like按钮。

答案 1 :(得分:1)

如果您正在使用HTML5将其存储在 localstorage 。它就像会话数据一样工作,但会话结束时不会过期。只有当用户从浏览器中清除缓存时,它才会被删除。

如果您不使用HTML5,则必须通过服务器将其存储在cookie中,并在您认为必要时设置过期日期。

尽管如此,当人们清除缓存并再次点击网站时,您的数据最终会变得不准确,因为您没有让人们登录。您无法跟踪谁已经跟踪谁喜欢什么以及他们多少次喜欢它。当出现这种情况时,您需要让人们通过数据库登录并跟踪他们已经喜欢的内容,但只有当您确实需要准确的计数时才会这样做。