C# 是否可以从ActionFilterAttribute中访问视图的标题?

C# 是否可以从ActionFilterAttribute中访问视图的标题?,c#,asp.net-mvc,razor,actionfilterattribute,C#,Asp.net Mvc,Razor,Actionfilterattribute,在我的视图中,我使用常见的ViewBag方法设置标题。我在视图中而不是控制器中的ViewBag上设置了值 视图中的代码在派生自ActionFilterAttribute的类中的所有四个虚拟方法之后运行。因此,当我试图从ViewBag读取标题时,它还没有被设置。相反,我在其中一个方法中设置的任何值都有被覆盖的风险 我不希望将这些线移动到控制器中,主要是因为这需要我编辑大量视图和控制器 还有别的选择吗 我无法将该值作为参数传递给属性构造函数,因为它不是常量。如果使用-filterContext.Co

在我的视图中,我使用常见的
ViewBag
方法设置
标题。我在视图中而不是控制器中的
ViewBag
上设置了值

视图中的代码在派生自
ActionFilterAttribute
的类中的所有四个虚拟方法之后运行。因此,当我试图从
ViewBag
读取标题时,它还没有被设置。相反,我在其中一个方法中设置的任何值都有被覆盖的风险

我不希望将这些线移动到控制器中,主要是因为这需要我编辑大量视图和控制器

还有别的选择吗


我无法将该值作为参数传递给
属性
构造函数,因为它不是常量。

如果使用-
filterContext.Controller.ViewBag.Title=“home page”在您的操作过滤器中?我认为您在代码的其他地方重写了它。或者在操作筛选器中分配时是否存在错误?你也能调试代码吗?我刚刚试过,肯定能在我的过滤器中访问
ViewBag
。你应该检查你的代码。谢谢你给我指明了正确的方向。这是一个时间问题。我已经相应地编辑了这个问题。为什么不在ResultExecuting上的
中设置您的Viewbags呢?@Sirwanafi,因为我在那里无法使用这些值。演练的全部要点是从ViewBag中获取值。当您使用-
filterContext.Controller.ViewBag.Title=“主页”时会发生什么在您的操作过滤器中?我认为您在代码的其他地方重写了它。或者在操作筛选器中分配时是否存在错误?你也能调试代码吗?我刚刚试过,肯定能在我的过滤器中访问
ViewBag
。你应该检查你的代码。谢谢你给我指明了正确的方向。这是一个时间问题。我已经相应地编辑了这个问题。为什么不在ResultExecuting上的
中设置您的Viewbags呢?@Sirwanafi,因为我在那里无法使用这些值。演练的全部目的是从ViewBag中获取值。