对于我们的Intranet站点,我们希望在按钮上包括视觉标志,这些按钮会导致段的内容已更改用户尚未查看的部分。
我所能想到的要实现的是,在每个页面上,请查询以比较用户的最后一个访问日期与该部分的内容,以查看自上次访问以来是否添加了任何新事物。
例如,我们有一个"新闻"页面。URL是news.aspx,到达该页面的按钮说"新闻"。我们的新闻表有一个数据编辑列,该列指示何时发布文章。因此,首先,我们获得了用户对news.aspx的最后访问的日期。我们有一个名为PageAccessLogs的表,只有三个简单的列:用户名,URL和访问时间。首先,我们会查询pageaccesslogs,以找出用户上次访问news.aspx的最后一次。假设结果是2012-11-06 10:34:25。然后找出在2012-11-06 10:34:25之后发布了多少篇文章。如果从那时到现在之间有1条文章,请在新闻按钮上方显示一个红色" 1"。如果这段时间与现在之间有2篇文章,请在新闻按钮上方显示一个红色" 2"。等等。
我尚未实施它,但是我很确定以上功能会起作用。凭借我有限的知识,我想不出任何其他方法来实现我的目标,而不仅仅是在每个用户的每个page_load上运行该查询。这是常见的方法吗?是否有一种实现相同目标的方法,而无需在每个页面上查询服务器?
我认为可能有某种技巧可以使用cookie存储最后的访问日期,但是即使使用该方法,也需要查询服务器以查看以来是否有新文章以来是否有新文章。
为什么不考虑将"额外列"默认为false,因为加载了新内容,因此假定它是看不见的,并且当用户读取它/显示该列的更新时,该列已完成ARK它作为阅读。这样就没有凌乱的时间戳问题。还消除了需要做任何针对重新计算读取/未阅读