在我正在开发的应用程序中,管理员可以在下拉列表中选择要使用的客户。问题是管理员可以浏览大量视图,并且每次他们都必须再次选择客户。在网络表单中,这相当容易......将其存储在 Session 变量中并在另一个页面加载时重置它。
MVC 没那么多。我似乎被困在我将这个值从控制器传递给视图的地方。我们将值存储在 Session 变量中,我们使用这样的基本控制器访问该变量:
MyController.CurrentUser.CurrentCustomerId
我无法解决的问题是如何将此值传递给局部视图。客户选择器工具位于部分视图中,该视图已添加到需要它的页面中。
我曾想过使用 ViewBag,但这意味着在我的控制器中需要此值的每一个操作中,我都必须添加:
ViewBag.CurrentCustomerId = CurrentUser.CurrentCustomerId;
即使这样,我也不确定 ViewBag 数据是否会传递到部分视图。我觉得是这样的。
似乎应该有一种更有效的方法来做到这一点并且仍然遵守 MVC 规则?