日期:2014-05-18  浏览次数:20411 次

|M| 如何让我的类:public class MyPage: System.Web.UI.Page 在用户控件中可以引用
上面是我写的一个System.Web.UI.Page   类
用来在别的页面代码中引用的

index.aspx.cs
public   class   index   :   MyPage

但是在用户控件里面就不可以如
public   class   myUserControl   :   MyPage

后来发现是因为用户控件的父级是:System.Web.UI.UserControl   而页面是:System.Web.UI.Page  
所以我都得写两个MyPage
一个MyPage.cs   一个   MyPageForControl.cs
虽然这样可以,但每一次更新都要更新这两一个有点麻烦

有没有办法把他们合在一起也就是不管是
System.Web.UI.Page   还是   System.Web.UI.UserControl  
都可以写public   class   index   :   MyPage

谢谢



------解决方案--------------------
都继承这个TemplateControl 试一下
------解决方案--------------------
我觉得应该是不行。。

你写成usercontrol最后还不是要在page中呈现,我建议在调用usercontrol的页面继承MyPage
------解决方案--------------------
个人认为用户控件去继承一个页面类不应该
------解决方案--------------------
不是不应该,是根本继承不了
------解决方案--------------------
可不可以把那个类不限定成页面或者控件,别的地方引用的话用多继承的方法?
------解决方案--------------------
可以用接口

------解决方案--------------------
接口不能有实现代码,不能满足楼主的需求。

一般还是和楼主一样写2个类,但这2个类中的方法和属性可以调用另1个公用类的方法属性。

修改的时候只要修改1个公用类就行了。
------解决方案--------------------
请不要做这个无味的尝试,

所有的 .aspx 只能最终继承 Page, 而 ascx 只能最终继承 UserControl

如果之间有可复用代码,请设计一个实用类,来公用

Good Luck!
------解决方案--------------------
接口还不是最后要实现