2011-03-30 99 views

回答

7

您需要檢查PageTypeNamePageTypeID特性,如:

if(CurrentPage.PageTypeName == "StartPage") 
    // Do something 

檢查參考:http://sdk.episerver.com/library/cms5/html/AllMembers_T_EPiServer_Core_PageData.htm

GetType()方法宣佈System.Object並返回System.Type爲物體。在.NET Framework中,所有類型都可用,因爲所有類型都從System.Object繼承。

+0

感謝您的答覆,好知道其中的差別。 – tif 2011-04-01 06:34:13

+0

我有類似的問題。我有一個包含EPiServer頁面和非EpiServer頁面的站點,問題是,在Non-EpiServer頁面上檢查類型時,「CurrentPage」返回的值與我在起始頁面中時一樣。我需要檢查頁面是否是EpiServer頁面。謝謝 – tif 2011-04-28 13:00:39

+2

您的EPiServer頁面可能會繼承某個基類,而其他頁面不會,對不對?只要檢查頁面中的if(這是MyEpiPageBaseClass)',你應該沒問題。 – 2011-04-29 07:17:54

3

CurrentPage.PageTypeName給你如果你使用的頁面類型生成器,你還可以使用PageTypeResolver類的網頁類型

+0

感謝Mari的回覆 – tif 2011-04-01 06:33:20

2

名。

4

與頁面類型構建強類型的類,你可以使用C#is關鍵字

e.g

if (CurrentPage is SomeStronglyTypeClass)