2010-02-12 25 views
6

Strona może mieć atrybut MasterType aby Page.Master być silna wpisany:Czy można ustawić program MasterType?

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

Jeśli wszystkie moje strony dziedziczy specyficzna klasa dziedziczona System.Web.UI.Page sama, mogę jakoś uzyskać dostęp do this.Master własności w nim więc mogłem zadzwonić metody strony głównej?

Odpowiedz

6

W swojej klasy bazowej że wszystkie strony dziedziczą tylko nadpisać właściwość Master, coś takiego:

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

lub abatishchev własnego Wariant:

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

ponieważ klasy SiteMaster nie jest dostępny dla mojej abstrakcyjnej klasy strony stworzyłem interfejs ISiteMaster, który zawiera wszystko, czego potrzebuję z klasy SiteMaster. Pozwól mi edytować odpowiedź i zaakceptuj ją. – abatishchev

+0

@abatishchev - bez problemu :) cieszę się, że podejście działa! –

Powiązane problemy