【发布时间】:2021-01-19 16:38:24
【问题描述】:
我想创建一个匿名购物车,一个新用户访问该网站,他们将产品添加到他们的购物车中,创建一个 cookie 来存储用户 guid 和总项目数。实际的购物车存储在数据库中。添加新项目使用 ajax 调用服务器端方法。
我的问题是如何在导航栏中实现一个标签,以在项目计数发生变化时显示项目数量。添加项目不会回发或转到购物篮概览。
我想简单地将购物车链接和文本作为部分内容,从更新的 cookie 中读取总数并刷新,但我不确定是否可以从另一个页面刷新部分内容。
其他人是怎么做到的?只需使用 Javascript 更新标签?
【问题讨论】:
-
好吧。您可以:1) 使用
websocket,或2) 创建setInterval和ajax来调用endpoing 以获取items/nr。每 x - 秒的项目。第二种方法对您来说可能更容易做到,但请确保 x-seconds 不是一个小数字,因为您不想让应用程序变得繁重。如果您完成并满意,您可能想尝试第一种方法,因为它更实时。 -
谢谢,我不喜欢使用定时循环来更新 _layout 中的值。我不确定 websockets 是否是前进的方向,它只是一个标签更新。一定有某种方法可以刷新 _layout 中的部分内容,这将读取 cookie 值或使用类似 innerhtml 的东西?
标签: c# asp.net-core razor-pages