I am writing an HtmlHelper
extension and I need to search for the existence of a template by name. The template in question may be a display or editor template depending on the context. My initial thought was to use ViewEngines.Engines.FindPartialView
method. However, it appears that this method is not searching the ~/Views/Shared/DisplayTemplates
and ~/Views/Shared/EditorTemplates
directories.
I suppose this is for good reason. After all, how would the ViewEngine
know whether to return the display or editor template without some additional information of context?
So, that leads to the question: how can I search for a specific EditorTemplate/DisplayTemplate I've considered adding a custom view engine to the ViewEngines
collection to include these locations. I'm concerned, however, that this might be problematic.
My main concern is that the DisplayTemplate/EditorTemplate view might be served up for something unintended. Does anyone else see this as a problem?
Is it a better idea just to new up a specific DisplayTemplateViewEngine
/EditorTemplateViewEngine
instance when necessary and keep the ViewEngines
collection clear of this specific functionality?
Is there something else I'm missing?