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

5

是否可以从ControllerContextViewEngineCollection中获取当前使用的ViewEngine?我想要能够像这样使用ViewEngines.GetCurrent。我知道我可以为该方法编写一个扩展,但我不知道如何实现。


3
只是出于好奇:你需要那个东西做什么? - magnattic
我正在扩展Scott Hanselmann发布的移动视图引擎。目前它的实现方式不太具有可扩展性。我正在为该视图引擎开发一个智能退出系统(以及其他一些改进),并希望能够启用/禁用当前使用的视图引擎的移动功能。 - Guldan
在控制器的上下文中,目前没有使用的视图引擎。直到实际渲染时才会解析一个视图引擎。 - bzlm
我正在扩展Scott Hanselmann发布的移动视图引擎。你应该阅读评论,我也不喜欢他的方法,如果你只是在控制器中重定向到正确的视图,你可以更好地控制正在发生的事情... - balexandre
1个回答

5
你可以使用 ViewEngineCollection 来查找与特定视图相关联的ViewEngine
ViewEngineResult result = ViewEngines.Engines.FindView(controllerContext,
                                                       "myView","myMaster");
IViewEngine viewEngine = result.ViewEngine;

欲了解更多信息,请访问此处


如何在Core 2.0上实现? - Matheus Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接