从.cs(或.vb)调用.aspx?

时间:2011-02-02 13:37:02

标签: c# asp.net vb.net

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

是否可以反向...即从.cs或.vb文件调用.aspx文件中的方法? (为了这个问题的目的,假设有充分的理由这样做)

3 个答案:

答案 0 :(得分:1)

驱动ASPX页面的代码本质上只是一个类(无论是来自代码隐藏还是来自aspx文件本身),因此可以由引用该程序集或项目的其他类实例化/引用。 (正如Matías所指出的,如果您使用“网站”而不是“Web应用程序”,这可能是一个问题,但我通常不使用前者,因此无法帮助您。)

要记住的一件事是这个函数的确切所需功能被称为......

  1. 方法是静态的还是需要运行类的实例?
  2. 如果是实例方法,是否需要在执行页面或页面的任何实例上调用它?
  3. 第二个可能会变得棘手。如果页面的当前实例需要由调用类引用,那么该页面将需要通过方法调用链传递对自身的引用,该方法调用链通向在页面上调用方法的类。听起来很丑陋。

    您能更详细地描述一下您在这里尝试实现的功能吗?

答案 1 :(得分:0)

假设您的ASPX的代码隐藏页面类具有某些方法的公共成员,为什么不呢? ASP.NET应用程序或预编译的Web站点将编译为标准的常规.NET程序集。

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

答案 2 :(得分:0)

您所描述的内容听起来像一个Web服务。网站可以通过可以在任何.Net项目中使用的Web服务来公开其底层逻辑。

http://msdn.microsoft.com/en-us/library/dd456779.aspx