有没有办法在c#的标准页面中使用[System.Web.Services.WebMethod]方法?

时间:2010-06-30 19:05:59

标签: c# ajax web-services webmethod

有没有办法在c#的标准页面中使用[System.Web.Services.WebMethod]方法?

我有一个c#ASPX页面,我希望有一个方法供我的ajax调用。我希望将所有内容自包含在单个文件中,以便进行组织和部署。

当我将该指令添加到System.Web.UI.Page时,例如:

[System.Web.Services.WebMethod]
public static string GetText()
{
    return "All finished!";
}

并尝试调用Page.aspx / GetText我得到完整的页面,而不仅仅是“All Finished”。

ajax的javascript是通过jQuery:

$("#btnGetData").click(function () {
    var intervalID = setInterval(updateProgress, 250);
    $.ajax({
        type: "POST",
        url: "Test.aspx/GetText",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        success: function (msg) {
            $("#progressbar").progressbar("value", 100);
            $("#result").text(msg.d);
            clearInterval(intervalID);
        }
    });
    return false;
});

1 个答案:

答案 0 :(得分:0)

这些被称为“页面方法”。请参见 “Exposing Web Services to Client Script”。