我的项目中有2个MasterPage。
MasterPage to common pages
和MasterPage to PopUp pages
。
我有一个由所有页面继承的类BasePage
,在BasePage中我需要验证哪个是使用的实际MaterPage。
例如:
if(Master.GetType() == typeof(Master)
....
我该如何测试?
答案 0 :(得分:4)
is
运算符可以方便地检查类型。
如果两个主人(我称之为MasterPage和MasterPagePopup)是从一个共同的祖先(Page?)继承而不是另一个,你可以做这样的事情:
if(Master is MasterPage)
{ do some stuff; }
if(Master is MasterPagePopup)
{ do other stuff; }
唯一的问题是,如果一个主人是从另一个继承的;如果MasterPagePopup是从MasterPage继承的,那么以上两种情况对于MasterPagePopup都是正确的,因为他 IS 都是MasterPage和MasterPagePopup。但是,if...else if
可以解决此问题:
if(Master is MasterPagePopup)
{ do other stuff; }
else if(Master is MasterPage) // popup is already handled and will not hit this
{do some stuff; }
答案 1 :(得分:1)
检查MasterPage类型的最简单方法是使用is
关键字:
if (this.Master is MasterPageCommon) {
} else if (this.Master is MasterPagePopup) {
}
答案 2 :(得分:1)
你应该能够做到
if(page.Master is PopUpMaster)
{
//Do Something
}
else if (page.Master is NormalMaster)
{
//Do Something
}