在母版页中定义派生类(c#)

时间:2009-09-04 14:38:03

标签: c# master-pages

我的项目在默认页面类的派生类上扩展的所有Web表单/页面。

即。而不是

public partial class myfirstpage:System.web.ui.page {}

我有public partial class myfirstpage:myderivedclass {}

然而,在母版页的代码隐藏中,如果我执行“this.page”,则假定我仍在使用system.web.ui.page。

任何人都知道如何更改我的新派生类?

4 个答案:

答案 0 :(得分:6)

在主人中,创建一个新属性:

public new MyDerivedPage Page { get { return (MyDerivedPage) base.Page; } }

答案 1 :(得分:1)

我不确定你的意思是“它假设我仍在使用System.Web.UI.Page。你的意思是this.Page的数据类型是System.Web.UI.Page但是你期待它是MyDerivedClass

如果是这种情况,则无法更改该数据类型。您可以创建自己的“隐藏”现有属性的属性,但实际上无法对其进行更改。

public MyDerivedClass Page
{
    get { return (MyDerivedClass)base.Page; }
}

答案 2 :(得分:0)

我认为您需要覆盖新类中System.Web.Ui.Page的页面字段。

答案 3 :(得分:0)

var page = (myderivedclass) this.page;