在父视图中访问部分视图的模型

Access partial view's model in parent view

我正在尝试在其父视图(主页)中访问局部视图的视图模型,但是无法这样做!

我的场景:我有一个局部视图,它有自己的控制器和视图模型。在部分视图的模型中,有 3 个列表从数据库中填充:国家、城市和类别。

我想在局部视图和它的具有不同模式的父视图上显示类别。

注意:由于部分视图正在其他页面(视​​图)上使用,所以我不能将类别放在主页视图模型中而不是部分视图模型!并且将类别列表放在两个视图模型中将导致对相同数据的双重数据库调用!

任何人都可以在这方面提供帮助。谢谢

您无法在父视图中访问局部视图的模型。但是您可以使用 HttpContext.Items.

在它们之间共享数据
@{
    this.ViewContext.HttpContext.Items["Stuff"] = "some-data";
}

此数据对单个 HTTP 请求有效。

更多信息:

https://msdn.microsoft.com/en-us/library/system.web.httpcontext.items(v=vs.110).aspx

When can we use HttpContext.Current.Items to stores data in ASP.NET?

编辑: link 更正。