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中获取值。