2010-02-12 105 views
6

一個頁面可以有一個屬性MasterType使Page.Master是強類型:是否有可能以編程方式設置MasterType?

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

如果我的所有網頁繼承特定的類繼承System.Web.UI.Page本身,我好歹可以訪問this.Master財產,所以我可以打電話母版頁的方法?

回答

6

在你的基類,所有頁面繼承,只是重寫Master財產,是這樣的:

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

或abatishchev自己的變種:

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

因爲SITEMASTER類是無法訪問對於我的抽象頁面類,我創建了一個接口ISiteMaster來容納從SiteMaster類中需要的所有東西。讓我編輯你的答案並接受它。 – abatishchev 2010-02-12 07:09:13

+0

@abatishchev - 沒問題:)很高興這種方法有效! – 2010-02-12 11:18:11

相關問題