如何比较我的实际主页

本文关键字:我的 主页 比较 何比较 | 更新日期: 2023-09-27 18:19:07

我有2个MasterPage在我的项目。

MasterPage to common pagesMasterPage to PopUp pages

并且我有一个由所有页面继承的类BasePage,并且在BasePage中我需要验证哪个是实际使用的MaterPage。

,

if(Master.GetType() == typeof(Master) ....

我如何测试它?

如何比较我的实际主页

is运算符用于检查类型。

如果两个母版(我将称它们为MasterPage和MasterPagePopup)是从一个共同的祖先(Page?)继承而来,而不是彼此继承,您可以这样做:

if(Master is MasterPage) 
  { do some stuff; }
if(Master is MasterPagePopup)
  { do other stuff; }

唯一的问题是如果一个主服务器是从另一个主服务器继承的;如果MasterPagePopup继承自MasterPage,那么上述两种情况对于MasterPagePopup来说都是正确的,因为既是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; }

检查MasterPage类型最简单的方法是使用is关键字:

if (this.Master is MasterPageCommon) {
} else if (this.Master is MasterPagePopup) {
}

你应该能够做

if(page.Master is PopUpMaster)
{
   //Do Something
}
else if (page.Master is NormalMaster)
{
   //Do Something
}