C# ASP.net MVC获取当前视图引擎

C# ASP.net MVC获取当前视图引擎,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,是否可以从ControllerContext或ViewEngineCollection获取当前使用的ViewEngine?我希望能够说下面的ViewEngines.GetCurrent。我知道我可以对该方法进行扩展,但我不知道如何实现它。您可以使用它查找与特定视图关联的视图引擎 ViewEngineResult result = ViewEngines.Engines.FindView(controllerContext,

是否可以从
ControllerContext
ViewEngineCollection
获取当前使用的
ViewEngine
?我希望能够说下面的
ViewEngines.GetCurrent
。我知道我可以对该方法进行扩展,但我不知道如何实现它。

您可以使用它查找与特定视图关联的
视图引擎

ViewEngineResult result = ViewEngines.Engines.FindView(controllerContext,
                                                       "myView","myMaster");
IViewEngine viewEngine = result.ViewEngine;

更多信息请参见此处。

出于好奇:您需要它做什么?我正在扩展Scott Hanselmann发布的移动视图引擎。它现在的实现方式不是很好扩展。我正在为该视图引擎开发一个智能选择退出系统(以及一些其他改进),我想启用/禁用当前使用的视图引擎的移动功能)在控制器的上下文中,没有当前使用的视图引擎。我正在扩展Scott Hanselmann发布的移动视图引擎。你应该阅读评论,我也不喜欢他的方法,如果你只是重定向到控制器中的适当视图,你就可以更好地控制正在发生的事情……如何在core 2.0上做到这一点?