Есть ли способ иметь метод [System.Web.Services.WebMethod] на стандартной странице в c #? - PullRequest
0 голосов
/ 30 июня 2010

Есть ли способ использовать метод [System.Web.Services.WebMethod] на стандартной странице в c #?

У меня есть страница c # ASPX, для которой я хотел бы иметь метод для вызова моего ajax. Я хочу, чтобы все было в одном файле для организации и развертывания.

Когда я добавляю эту директиву в System.Web.UI.Page, например:

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

и попробуйте вызвать Page.aspx / GetText. Я получаю полную страницу назад, а не просто «Все готово», как ожидалось.

Javascript ajax через 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 голосов
/ 09 июля 2010

Они называются «Методы страницы».См. « Предоставление веб-служб клиентскому сценарию ».

...