ASP.NET页面也可以是WebService吗?

时间:2010-04-28 06:18:54

标签: asp.net

我知道这有点奇怪,特别是因为Page继承自System.Web.Page(或其他东西)而WebService继承自System.Web.Service(或其他东西)。

但我想我会问是否有办法做到这一点?有没有人建议这样做?

public class MyWebService : System.Web.Services.WebService
{
    [WebMethod]
    public String MyMethod()
    {
        return "";
    }
}

public class MyWebPage : System.Web.UI.Page
{
    protected void ExecuteButton_Click(Object sender, EventArgs e)
    {
        ...
    }
}

2 个答案:

答案 0 :(得分:1)

不确定您要查找的内容,但您可以将[WebMethod]作为.aspx.cs页面上方法的属性。我用它来从.aspx页面执行这个方法。

前: -

 [WebMethod]
public static void YourMethod(string parameter)
{    

}

从您发布的代码中,我无法在您的页面上看到静态方法。其次,我在您的服务中看不到该方法的调用。 尝试做这样的事情

public static type MyMethodOnPage()

并在你的servie方法中调用这个静态方法。

public type MyMethodInService()
{
    return MyPageName.MyMethodOnPage();
}

答案 1 :(得分:0)

是的,我们有。我们可以使用AJAX回调。

检查此网址

<强> http://geekswithblogs.net/frankw/archive/2008/03/13/asp.net-ajax-callbacks-to-web-methods-in-aspx-pages.aspx