Unsere Basis-Masterpage hat etwa Folgendes:
%Vor%Wenn diese Masterpage die Masterpage für eine ASPX-Seite ist, funktionieren die Dinge gut.
Wenn diese Masterpage die Masterpage für eine untergeordnete Masterpage ist und eine neue ASPX-Seite die untergeordnete Masterpage als MasterPage verwendet, sehen Sie Folgendes:
Serverfehler in '' Anwendung.
Die Controls-Auflistung kann nicht geändert werden, da das Steuerelement Codeblöcke enthält (d. h. & lt;% ...% & gt;).
Was ist der bevorzugte Weg, um globale Ressourcen (Javascript / CSS) in eine Basis-Masterpage einzufügen, wobei die relative Pfadangabe in Tilde (~) Stil beibehalten wird?
Gemäß ScottGu ,
Ein Tipp, den Sie nutzen können, ist die Unterstützung für die relative Pfadkorrektur, die vom head runat="server" -Steuerelement bereitgestellt wird. Sie können dies innerhalb von Masterseiten verwenden, um einfach auf ein CSS-Stylesheet zu verweisen, das im gesamten Projekt wiederverwendet wird (unabhängig davon, ob das Projekt auf eine Stammverknüpfung oder eine Unteranwendung verweist):
Die Pfadkorrekturfunktion des Kopfsteuerelements übernimmt dann den relativen CSS-Stylesheet-Pfad und gibt den absoluten Pfad zum Stylesheet zur Laufzeit korrekt aus, unabhängig davon, ob es sich um eine root-referenzierte Website oder einen Teil eines Anwendung.
Tags und Links javascript asp.net nested master-pages relative-path