我的项目在默认页面类的派生类上扩展的所有Web表单/页面。
即。而不是
public partial class myfirstpage:System.web.ui.page
{}
我有public partial class myfirstpage:myderivedclass
{}
然而,在母版页的代码隐藏中,如果我执行“this.page
”,则假定我仍在使用system.web.ui.page。
任何人都知道如何更改我的新派生类?
答案 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;