2011-02-02 44 views
0

我有一个Visual Studio解决方案,包含.cs和.vb项目以及.aspx文件。像往常一样,.aspx文件实现一个ASP.NET站点并调用.cs和.vb项目。从.cs(或.vb)调用.aspx?

是否有可能做反向...即只能从一.cs或.vb文件的方法的调用在.aspx文件? (假设为这个问题的目的,有一个很好的理由这样做)

+0

为什么要将方法放在ASP页面中?除非你正在谈论一个javascript方法? – 2011-02-02 13:39:25

回答

1

代码驾驶你的ASPX页面本质上只是一个类(无论是从代码隐藏或在aspx文件本身),因此可以被实例化/通过引用该组件或项目的其他类引用。 (正如Matías指出的,如果您使用“Web站点”而不是“Web应用程序”,这可能是个问题,但我通常不使用前者,因此不能帮助您。)

One要记住的是这个函数的确切功能被称为...

  1. 该方法是静态还是需要类的运行实例?
  2. 如果是实例方法,是否需要在执行页面或页面的任何实例上调用它?

这第二个可能变得棘手。如果页面的当前实例需要被调用类引用,那么该页面将需要通过方法调用链传递对自身的引用,这会导致调用页面上方法的类。听起来对我来说很丑。

你能更详细地描述你试图在这里实现什么样的功能?

0

假设代码隐藏Page类的ASPX的具有公共成员像一些方法,为什么不呢? ASP.NET应用程序或预编译的网站编译为标准的常规.NET程序集。

无论如何,如果它是一个网站,这是一个坏主意,因为它被编译成多个程序集,并且如果你不使用固定的程序集名称,将很难捕捉到,因为名称是不可预测的。但是如果你正在谈论一个ASP.NET应用程序,没有问题。

+0

如何让网站使用固定的程序集名称?另外,如果我不想将公共方法放在代码隐藏中,我会如何将其嵌入到.aspx文件中 – JoelFan 2011-02-02 13:46:53