Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 显示及;在MVC布局菜单上更新购物车计数_Asp.net Mvc_C# 4.0_Layout_Viewbag - Fatal编程技术网

Asp.net mvc 显示及;在MVC布局菜单上更新购物车计数

Asp.net mvc 显示及;在MVC布局菜单上更新购物车计数,asp.net-mvc,c#-4.0,layout,viewbag,Asp.net Mvc,C# 4.0,Layout,Viewbag,我有一个MVC应用程序,它应该在主布局页面上显示购物车计数。我需要在用户从购物车添加或删除数据时更新此值。由于这些数据更改可以在整个应用程序中的多个位置完成,因此我对是否在每个控制器上调用GetCartCount()都犹豫不决 我曾考虑使用ViewBag或knockout computed observable来存储该值,但我愿意接受任何其他建议 存储和更新MVC应用程序中版面页面上使用的单个值的最佳方法是什么?最简单的方法是将此计数变量放入会话中,并使用@Session将其直接输出到_layo

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

我曾考虑使用ViewBag或knockout computed observable来存储该值,但我愿意接受任何其他建议


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

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

谢谢。我选择创建一个基本控制器&在这一点上适当地分配一个会话变量。@Rethic这并没有解释如何更新计数……它谈到了会话,但没有提到更新视图的机制