Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从.cs(或.vb)调用.aspx?_C#_Asp.net_Vb.net - Fatal编程技术网

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

C# 从.cs(或.vb)调用.aspx?,c#,asp.net,vb.net,C#,Asp.net,Vb.net,我有一个Visual Studio解决方案,包含.cs和.vb项目以及.aspx文件。与往常一样,.aspx文件实现ASP.NET站点并调用.cs和.vb项目 有没有可能做相反的。。。i、 e.从.cs或.vb文件调用.aspx文件中的方法?(假设出于这个问题的目的,这样做有一个很好的理由)假设您的ASPX的代码隐藏页面类具有类似某种方法的公共成员,为什么不呢?ASP.NET应用程序或预编译的网站编译为标准的常规.NET程序集 无论如何,如果它是一个网站,这是一个坏主意,因为它被编译成多个程序集

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


有没有可能做相反的。。。i、 e.从.cs或.vb文件调用.aspx文件中的方法?(假设出于这个问题的目的,这样做有一个很好的理由)

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


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

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

需要记住的一件事是调用此函数所需的确切功能

  • 该方法是静态的还是需要类的运行实例
  • 如果是实例方法,是否需要在执行页面或页面的任何实例上调用它
  • 第二个可能会变得棘手。如果页面的当前实例需要被调用类引用,那么该页面将需要通过方法调用链传递对自身的引用,该方法调用链将导致调用页面上方法的类。听起来有点难听


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

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


    为什么要在ASP页面中放置方法?除非你说的是javascript方法,否则我怎么能让网站使用固定的程序集名称呢?另外,如果我不想将public方法放在代码后面怎么办。。。我想把它嵌入到.aspx文件中,如果它是第二个选项的话,不用担心。您无法访问这些方法,因为ASPX页面是分部类,并且表示视图中实现的代码的部分是在您的网站首次运行时由ASP.NET编译器编译的。关于ASP.NET网站中的固定程序集名称,请阅读本文: