ASP.Net Webforms: den Übergeordneten SiteMaster ermitteln
Wie ermittelt man die umfassende Master-Seite einer Webseite?
Lösung:
Aus einer Detail-Webseite in ASP.Net Webforms liegt die umfassende Masterpage direkt unter der me.Master Eigenschaft.
Ein Abfragen läuft wie hier:
Dim ctlParent_Sitemaster As SiteMaster
ctlParent_Sitemaster = Master
|
In Visual Studio
Code-Beispiel für vb.net Asp.net, Webforms
Private Sub fl_Userfriendly_Path_Rewrite_Output()
'------------< fl_Userfriendly_Path_Rewrite_Output >------------
'*write Userfriendly path to URL in Browser
'-< get parent breadcrumb path >
Dim ctlParent_Sitemaster As SiteMaster
ctlParent_Sitemaster = Master
Dim sPath As String = ctlParent_Sitemaster._sPath_URL_Friendly
sPath = HttpUtility.HtmlEncode(sPath)
Response.RedirectLocation = "https://rue25.de/test/123"
'-</ get parent breadcrumb path >
'------------</ fl_Userfriendly_Path_Rewrite_Output >------------
End Sub
|
Auszug der Werte im Breakpoint.
Zur Laufzeit ist in Master die Master-Datei zur Verfügung
+
|
Master
|
{ASP.site_master}
|
System.Web.UI.MasterPage
|
|
MasterPageFile
|
"/Site.Master"
|
String
|
Aber das Parent Element ist hingegen leer
Parent
|
Nothing
|
System.Web.UI.Control
|
In ASP.Net definiert man im Kopf einer ASPX.Datei, ob eine Umfassende Masterpage um die Datei geladen werden soll.
Dadurch wird beim Aufruf erst die Datei Site.Master aufgerufen und anschliessend innerhalb in einem Content-Bereich die
Ein falscher Zugriff ist über die Parent eigenschaft.
Diese ist nämlich null, da nicht der Sitemaster die Unterseiten als Usercontrols oder Webparts lädt, sondern die Unterseite schon im Header die Masterpage ausweist.
Hier: Parentist null