C# 当值从动作过滤器传入布局后,ViewBag在布局中返回null

C# 当值从动作过滤器传入布局后,ViewBag在布局中返回null,c#,asp.net-core,actionfilterattribute,C#,Asp.net Core,Actionfilterattribute,我制作了一个动作过滤器,并在我的.NETCore2.2应用程序中全局设置它。 此操作筛选器用于获取值并将其传递到ViewBag中,该ViewBag用于其他视图继承的布局视图。此操作筛选器获取该值并将其传递到我的ViewBag中,但ViewBag在布局视图上仍返回null 这是动作过滤器 public override async void OnResultExecuting(ResultExecutingContext context) { SomeAppSetting

我制作了一个动作过滤器,并在我的.NETCore2.2应用程序中全局设置它。 此操作筛选器用于获取值并将其传递到ViewBag中,该ViewBag用于其他视图继承的布局视图。此操作筛选器获取该值并将其传递到我的ViewBag中,但ViewBag在布局视图上仍返回null

这是动作过滤器

 public override async void OnResultExecuting(ResultExecutingContext context)
    {
        SomeAppSettingClass = new SomeAppSettingClass()
        {
            token = configuration.GetValue<string>("SomeAppSettingClass:token") 
        };
        
        IOptions<SomeAppSettingClass> settingsAccessor = Options.Create(appSetting);

        if (context.Controller is Controller)
        {
            var controller = context.Controller as Controller;
            
            var companyClient = new CompanyClient(settingsAccessor);
            var companyInfo = await companyClient.GetById(); //this always returns a value
            controller.ViewBag.Company = companyInfo;
        }
        base.OnResultExecuting(context);
    }

为什么ViewBag返回空值?

我刚刚测试了它,它正在工作。您是否尝试调试结果筛选器?也许是别的什么地方出了问题。是的,我出了问题。我甚至传递了一个静态字符串值作为viewbag,仍然是同一个问题:显示一个空字符串。也许你可以向我们展示MyActionFilter类的完整代码。
<h3>@ViewBag.Company.CompanyName</h3>
services.AddMvc(options =>
        {
            options.Filters.Add(new MyActionFilter(Configuration));
        });