【问题标题】:Display & Update Cart Count on an MVC Layout Menu在 MVC 布局菜单上显示和更新购物车计数
【发布时间】:2014-02-12 16:33:59
【问题描述】:

我有一个 MVC 应用程序,它应该在主 _Layout 页面上显示购物车计数。当用户在购物车中添加或删除数据时,我需要更新此值。由于这些数据更改可以在整个应用程序中的多个位置完成,因此我对在每个控制器上调用 GetCartCount() 犹豫不决。

我正在考虑使用 ViewBag 或敲除计算 observable 来存储此值,但我愿意接受任何其他建议。

存储和更新将在 MVC 应用程序的布局页面上使用的单个值的最佳方法是什么?

【问题讨论】:

    标签: asp.net-mvc c#-4.0 layout viewbag


    【解决方案1】:

    最简单的方法是将这个计数变量放在 Session 中,并使用 @Session 将其直接输出到 _Layout.cshtml 中。如果您不想使用会话,您可以在每次请求时将此计数变量放入 ViewBag 中,您可以在 OnActionExecuting 方法中的 BaseController 中设置它(如果您没有,只需创建一个并从中继承您的控制器)并且您将避免重复。

    【讨论】:

    • 谢谢。我选择创建一个基本控制器并在那时适当地分配一个会话变量。
    • @Rethic 这并没有解释如何更新计数......它谈到了会话而不是更新视图的机制
    猜你喜欢
    • 2012-08-05
    • 2011-03-15
    • 1970-01-01
    • 2016-03-30
    • 2018-08-18
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多