比如一个Web site项目里,有两个文件夹,A文件夹下有一个base.aspx页面,B文件夹下面test.aspx页面。我想让test.aspx继承base.aspx页面,但如果直接写继承,会报告找不到base这个类,需要添加引用。如果我给base.aspx和test.aspx都添加上同一个namespace,编译的时候,象base.aspx就会报告说 FrameworkInitialize()找不到合适的方法去override真太奇怪了。
在2003下面都是通过添加namespace来处理的啊。现在觉得 vs 2005 beta2实在太bt了不知道大家有没有遇到这样的问题?怎么解决的?
急啊。。

解决方案 »

  1.   

    2005不是有个master页面什么的~~
      

  2.   

    master只是适用于排版方面的吧。我不仅仅是界面方面的,更重要的是功能函数的重用
      

  3.   

    功能函数重用在同一个sln中不是就可以直接调用的么?
      

  4.   

    是这样的,比如我在base.aspx里面的GridView设好了属性,绑定了数据源,这些都是通用的方法然后我想test.aspx继承base.aspx页面,那样只要在test.aspx里面设定几个属性值就行了,不需要再重新绑定啊之类的所以,就是希望能够做到一个aspx.cs文件继承另一个aspx.cs文件
    没有道理不可以啊,我在2003里面都是这样做的希望各位高手指点啊
      

  5.   

    Beta2 is a little buggyuse "base" as class name is badmake sure you modified the aspx page to use Inherits="YourNamespace.YourClass"I did see a problem, if the files are in the same directory, the IDE seems to be able to see the class name, but when they are in the different directories, it complains
      

  6.   

    谢谢思归大侠 ^_^是我没有写好这里:Inherits="YourNamespace.YourClass"
    咔咔 趁着大侠在,我趁机问多个问题,别说我贪心脸皮厚啊,实在找不到答案,呵呵 :P
    就是如何给一个页面指定 Init 之类的函数呢?以前在2003里面,是可以把页面看成是一个对象,在design的时候绑定的,现在好像找不到地方了?也请各位高手花费小小时间,帮忙解答一下这个问题,谢谢,谢谢
      

  7.   

    还是有问题即使我把两个页面都放在同一个namespace下面,test一样还是没有办法认出 Base来,依然会报告找不到Base不知道这是什么原因?
      

  8.   

    you can always override OnInit(), can base.OnInit and then call additional methods
      

  9.   

    >>>即使我把两个页面都放在同一个namespace下面,test一样还是没有办法认出 Base来,依然会报告找不到Base估计是BETA2的BUG,试着把文件放在同一个目录下
      

  10.   

    唉 只能如此了么我直接在base.aspx (base的确不是一个好名字,现在只是举个例子,呵呵)
    里面写:protected void OnInit()
    {
    int i = 3;
    }可是,从设置的断点来看,根本就没有调用到这个OnInit函数啊?而且,其实不仅仅是Init啊,比如PreRender,还有很多相关的页面函数,难道之前绑定的机制都没有了么?那岂不是更不方便?
      

  11.   

    protected override void OnInit(EventArgs e)
            {
                base.OnInit(e);
                int i = 3;        }
      

  12.   

    哦,明白了,象PreRender这些,都是类似,对吧?唉,发现2005和2003的差别真太大了比如页面继承,2003里面,在我的例子里,base和test都必须包含控件,base里面需要把初始化代码删去,然后把控件用FindControl查出来,这样就可以了。
    但2005,cs文件里面已经没有生成控件的代码了,base和test里面,我都放置GridView,且ID一致,不管我是否使用FindControl重新赋值给GridView,运行test页面都是报告GridView控件为空值,似乎是查找不到test页面里面的GridView控件,不知道如果我要实现页面继承,控件方面应该怎么处理?(最后一个问题了)