Bis gestern war ich ja total begeistert von DNN.
Jetzt habe ich eine Schwachstelle gefunden. Okay, kann auch sein, dass ich einfach zu blöd bin (das will ich nicht ausschließen).
Also ich entwickel ein Modul das mehr als ein View-Control hat. Zwischen den einzelnen View-Controls habe ich immer mit EditURL() verlinkt.
Wie ich dann feststellen musste, werden die View-Controls leider immer im Admin-Skin dargestellt. Gar nicht so gut. Da der Adminskin aber etwas anders aussieht konnte ich den einfachsten Weg nicht gehen (mal ganz davon abgesehen, dass ich so eine Lösung nicht gut finde...).
Nach langem forschen, lesen, ausprobieren habe ich dann folgende Lösung gefunden.
Man hat die Möglichkeit den ContainerSrc mit in der URL zu übergeben, dann wird der eingestellt bzw. Defaulwert des Containerskins überschrieben.
Das sieht dann so aus:
http://localhost/dotnetnuke/Home/tabid/35/ctl/MyControl/mid/366/ID/33/ContainerSrc/%5bL%5dContainers%7cMyOwnDesgin%7cMyContainer/Default.aspx
Dabei hat man zwei Möglichkeiten:
- man fängt das mit einem [L] an, dann wird das aktuelle Portal genutzt
- man fängt das mit einem [G] an, dann wird das _defaul Portal genutzt.
Vielleicht bietet das Core-Team ja irgendwann die Möglichkeit dieses etwas eleganter zu gestallten.