Ich schreibe eine HtmlHelper
Erweiterung und ich muss nach dem Vorhandensein einer Vorlage nach Name suchen. Die fragliche Vorlage kann je nach Kontext eine Anzeige oder eine Editor-Vorlage sein. Mein erster Gedanke war, ViewEngines.Engines.FindPartialView
Methode zu verwenden. Es scheint jedoch, dass diese Methode die Verzeichnisse ~/Views/Shared/DisplayTemplates
und ~/Views/Shared/EditorTemplates
nicht durchsucht.
Ich nehme an, das ist aus gutem Grund. Wie würde die ViewEngine
schließlich wissen, ob die Anzeige oder die Editor-Vorlage ohne zusätzliche kontextbezogene Informationen zurückgegeben wird?Finden Sie MVC Vorlage Ansicht nach Name
So führt, dass auf die Frage: Wie kann ich für eine bestimmte EditorTemplate suchen/DisplayTemplate Ich habe als eine benutzerdefinierte Ansicht Motor auf die ViewEngines
Sammlung Hinzufügen dieser Standorte. Ich bin jedoch besorgt, dass dies problematisch sein könnte.
Meine größte Sorge ist, dass die DisplayTemplate/EditorTemplate Ansicht könnte für unbeabsichtigt etwas serviert werden. Sieht das jemand anders als ein Problem?
Ist es eine bessere Idee, nur eine bestimmte DisplayTemplateViewEngine
/EditorTemplateViewEngine
Instanz neu zu erstellen, wenn nötig und die ViewEngines
Sammlung von dieser spezifischen Funktionalität freihalten?
Gibt es noch etwas, das mir fehlt?
Das ist die Antwort. Aber ich kann es für ein paar Tage nicht als solches bezeichnen. Es tut uns leid, wenn Sie sich für diesen Beitrag aufgrund seines offensichtlichen "unbeantworteten" Status interessiert haben. –
Was ist metadata.TemplateHint oder woher kommt es? – xr280xr
@ xr280xr: Aktualisiert, um die Metadaten-Definition einzuschließen. Hoffnung, die dir dienen! –