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

|M| 如何在我的MyPage页面再继承我的PageTool.cs类
|M|   如何让我的类:public   class   MyPage:   System.Web.UI.Page   在用户控件中可以引用  
http://community.csdn.net/Expert/topic/5579/5579889.xml?temp=.125744
-----------------------------------
上贴得知:我有两个类
MyPage.cs       继承:System.Web.UI.Page  
MyPage_ascx.cs  继承:System.Web.UI.UserControl
因为里面写了很多都是一样的过程和过程名
但每一次更改的时候都要更改两个文件,送成麻烦和有可能出错问题
所以现在我把他们里面的过程全都放在一个PageTool.cs中
但这样的话像原来的页面代码:Alert( "更新成功 ");
就得写成PageTool.Alert( "更新成功 ");
这样就得更改很多处的代码(更新太多太麻烦)
所以现在问:
如何让我的MyPage.cs的这个页面也可以继承System.Web.UI.Page   ,又可以继承PageTool.cs而使原来的页面代码不用进行更改
谢谢

------解决方案--------------------
C# 中只能单继承,无法多重继承!!!

上贴已经告诉你了,只有使用一个可服用的工具类,如你这里的PageTool

还不明白?
------解决方案--------------------
帮你顶
------解决方案--------------------
把公用的函数写到一个 .cs 文件里面 然后在两个基类里面调用。

在有变动 修改  .cs 就可以了。

只能用这个方法了。
------解决方案--------------------
在一个类文件里用不是一样的吗 不一定非要继承page类的
------解决方案--------------------
设计的方向错了
------解决方案--------------------
难道你每个Alert都要写成1个函数不成,写函数肯定有个比较通用的函数了,有点封装性质的。

Alert可以说已经是封装了,直接调用就行了,没必要再去PageTool中去封装。
------解决方案--------------------
你一开始的设计就错了,在完全没必要用继承的场合你用继承,现在你想继续错下去,把类继承得一塌糊涂?
------解决方案--------------------
同时继承与两个页面做不到..
------解决方案--------------------
你可以封装成接口呀
------解决方案--------------------
继承一个基类,一个接口
------解决方案--------------------
可以考虑你的MyPage里有一个PageTool的对象. 依然页面还是派生于MyPage..但是可以访问PageTool了
------解决方案--------------------
up,JF~~
------解决方案--------------------
帮顶