2010-02-12 3 views
6

Une page pourrait avoir un attribut MasterType pour faire Page.Master être fortement typé:Est-il possible de paramétrer MasterType par programmation?

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

Si toutes mes pages hérite classe spécifique hérité System.Web.UI.Page lui-même, puis-je someway avoir accès à this.Master propriété si je pourrais appeler méthodes de la page maître?

Répondre

6

Dans votre classe de base que toutes les pages héritent, juste remplacer la propriété Master, quelque chose comme ceci:

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

ou propre variante de abatishchev:

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

en raison de la classe SiteMaster est pas accessible pour ma classe de page abstraite, j'ai créé une interface ISiteMaster pour contenir tout ce dont j'ai besoin de la classe SiteMaster. Laissez-moi éditer votre réponse et l'accepter. – abatishchev

+0

@abatishchev - Pas de problème :) content que l'approche fonctionne! –