2011-09-11 16 views
5

¿Es posible obtener el ViewEngine usado actualmente desde el ControllerContext o el ViewEngineCollection? Me gustaría poder decir lo siguiente ViewEngines.GetCurrent. Sé que puedo hacer una extensión para ese método, pero no tengo idea de cómo implementarlo.ASP.net MVC obtener viewengine actual

+3

Sólo por curiosidad: ¿Para qué lo necesitas? – magnattic

+0

Estoy en el proceso de extender el motor de vista móvil que publicó Scott Hanselmann. La forma en que se implementa ahora no es muy extensible. Estoy trabajando en un sistema de exclusión inteligente (y algunas otras mejoras) para ese motor de visualización y me gustaría habilitar/deshabilitar la funcionalidad móvil del motor de vista utilizado actualmente) – Guldan

+0

En el contexto del controlador, actualmente no existe motor de vista usado Uno no se resolverá hasta que en realidad sea tiempo de renderizado. – bzlm

Respuesta

4

Puede usar ViewEngineCollection para buscar el ViewEngine asociado a una vista en particular.

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

Consulte aquí para más info.

Cuestiones relacionadas