从ASPX代码后面调用Web方法

本文关键字:调用 Web 方法 ASPX 代码 | 更新日期: 2023-09-27 18:07:39

我正试图找出一种方法,我可以调用Web方法(位于aspx页面后面的代码中的公共静态方法)从另一个aspx代码后面的页面。

这是Page A.aspx 后面的代码
public partial class PageA : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    // other code not relevant is here  
    }
    [WebMethod(true)]
    public static string GetStringInfo()
    {
         // do some stuff here to build my string
         // return string
    }
}

在页面B上,我需要能够在页面加载期间调用GetStringInfo()或其他一些事件来获取信息。GetStringInfo()相当复杂,由于我无法控制的原因,目前无法移动到其他地方或重建。

我如何从后面的另一个页面的代码中使用上面的web方法?

我已经尝试实例化另一个页面(PageB)的副本,例如:

public partial class PageB : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       PageA page = new PageA();
       page.GetStringInfo();        
    }
}

这里的问题是,因为它是动态编译的,我没有一个简单的命名空间来引用和访问。我试过添加一个,但它忽略了它。

这个项目是基于。net 3.5, c#,并且是一个网站项目(不是web应用程序)。

任何帮助都是感激的!

从ASPX代码后面调用Web方法

如果GetStringInfo方法是静态的,则不需要PageA的实例来调用它:

public partial class PageB : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       string info = PageA.GetStringInfo();        
    }
}