2010-02-12 3 views
6

könnte eine Seite ein Attribut MasterType-Page.Master zu machen stark typisierte zu sein:Ist es möglich, MasterType programmatisch zu setzen?

<%@ MasterType VirtualPath="~/Site.master" %> 

Wenn alle meine Seiten erben bestimmte Klasse geerbt System.Web.UI.Page selbst, kann ich irgendwie Zugang zu this.Master Eigenschaft darin, so konnte ich nennen die Methoden der Masterseite?

Antwort

6

in Ihrer Basisklasse, die alle Seiten von erben, außer Kraft setzen nur die Master Eigenschaft, etwa wie folgt:

public new SiteMaster Master 
{ 
    get { return base.Master as SiteMaster ; } 
} 

oder eigene von abatishchev Variante:

public new ISiteMaster Master 
{ 
    get { return base.Master as ISiteMaster; } 
} 
+0

wegen Klasse Sitemaster ist nicht zugänglich Für meine abstrakte Seitenklasse habe ich eine Schnittstelle ISiteMaster erstellt, um alles, was ich von der SiteMaster-Klasse benötige, zu halten. Lass mich deine Antwort bearbeiten und akzeptiere sie. – abatishchev

+0

@abatishchev - Kein Problem :) froh, dass Ansatz funktioniert! –