在标准的ASP.NET webforms项目中,如果我在一个需要相同数据的页面上有多个用户控件,我倾向于让第一个用户控件将数据放入HttpContext.Current.Items集合中,以便它所有其他人都可以使用。
在同一页面上多次使用的MVC控制器上的ViewResult与此最接近的是什么?
由于
修改
这里的ViewReults基本上是在页面上出现多次的内容区域,所以我想查询数据库一次以获取页面的所有内容的集合(当第一个内容区域被加盖时)而不是每个内容区域的单独查询。以为它会加快速度。
更多信息:
为了清楚起见,内容控制器操作被重复用作来自另一个“主”控制器所服务的页面内的“RenderAction”。因此,我认为我不能使用ViewData(或控制器类本身的任何其他属性),因为它不在同一控制器的不同实例之间共享。
我认为在使用this one之类的方法后,我将不得不依赖HttpContext。
答案 0 :(得分:1)
“在同一页面上多次”意味着相同的请求意味着您仍然可以使用HttpContext.Current.Items集合。
答案 1 :(得分:0)
为什么不将此内容放在ViewModel中并让所有控件都使用它?这是View模型的标准用法。