如题,我举个列子问题如下:
我在一个.cs类里面定义一个static 函数a() 
namespace xxx
{
    public class xxxxx
    {
         public static a()
         {
          ...
          }
    }
}
然后我在另一个页面的.cs文件里面是可以调用这个static函数的,方法就是
.....
using xxx
然后在该页面直接用xxxxxx.a()是可以的;
但是我在这个页面的.ASPX文件如此调用就提示错误,说上下文无XXXXXX类。
我就是想问STATIC函数跨页面调用只能在.cs文件中吗?在另一个页面就算声明了XXX类也不能在.ASPX中使用只能在他的.cs文件中使用?还是有其他方法让另一个页面的.aspx中也可以直接调用。。希望大大提示下 ,谢谢!

解决方案 »

  1.   

    是不是在aspx里面没有引用命名空间的?
      

  2.   

    .aspx里面需要引用命名空间吗?不是命名空间都是在.ASPX的.cs文件中声明引用的吗。我的意思是这个能引用static函数的.cs文件就是不能引用的.aspx文件的后天.cs文件,但是为什么同一个页面的.cs文件可以调用而该页面的前台.aspx文件却调用不了呢?
    3楼的不同命名空间是可以调用的验证过了 只需要引用那个你调用的命名空间即可,但是现在只是在后台.cs文件调用成功,前台的.aspx一直提示找不到那个类的错误。声明原因啊?
      

  3.   

    假设你写一个 abc.aspx 页面,它的code-behind代码的class是abc,那么这个abc.aspx页面由asp.net动态生成的代码是从abc类继承的子类class(而根本不是abc)。请你去了解aspx所生成的代码的机制。如果你不怕自己去阅读源代码,其方法可以参看:http://topic.csdn.net/u/20100826/23/844ae262-b7a4-4004-90db-d3fc39caf993.html
      

  4.   

      在asp.net页面得这样写xxx.xxxxx.a()
      

  5.   

    不好意思 回来 晚了 ,放假 出去了 额。
    谢谢 7楼 正解  刚刚 实验 过了 。。麻烦 有点  不 知道 直接 写 XXXXX.A()为什么 不 行,难道 不加NMESPACE可能 产生 误解。结贴了  7楼谢谢!
    还是 谢谢  大家