Asp.net core asp.net核心中的ControllerContext.ParentActionViewContext

Asp.net core asp.net核心中的ControllerContext.ParentActionViewContext,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,如何访问Asp.NETCore中的ParentActionViewContext,我使用了以下命令,但在Core中它们不可用。 ControllerContext.ParentActionViewContext.RoutedData.Values[“controller”].ToString(),ControllerContext.ParentActionViewContext.ViewBag.Model作为MyViewModel 由于.NETCore上的信息匮乏,我无法找到任何与这些相关的信息

如何访问Asp.NETCore中的ParentActionViewContext,我使用了以下命令,但在Core中它们不可用。
ControllerContext.ParentActionViewContext.RoutedData.Values[“controller”].ToString()
ControllerContext.ParentActionViewContext.ViewBag.Model作为MyViewModel

由于.NETCore上的信息匮乏,我无法找到任何与这些相关的信息

提前谢谢

  • 要获取路由数据,您需要使用
    ControllerContext.ActionDescriptor
    而不是
    ControllerContext.ParentActionViewContext
    现在:

    ControllerContext.ParentActionViewContext.RouteValues.Values;
    
  • 关于获取
    模型
    。控制器类具有自己的属性:

    public dynamic ViewBag { get; }
    public ViewDataDictionary ViewData { get; set; }
    
    所以你可以用

    var myModel = this.ViewData.Model as MyViewModel;
    

您无法找到
ParentActionViewContext
,因为ASP.Net Core中没有子操作。它们已被替换为

您只需调用它们并传递所需的任何数据,而无需再次通过请求管道(即没有模型绑定、过滤器或独立的http上下文)

  • 这是一篇很好的介绍性文章