ASP.NET 4.0 - Как с помощью Jquery вызвать функцию codebehind и вернуть данные клиенту? - PullRequest
1 голос
/ 06 ноября 2010

Когда я нажимаю на следующий div:

 <div id="Result">Click here for the time.</div>

Мне нужна следующая функция codebehind для запуска:

 <WebMethod()> _
 Public Shared Function GetDate() As String
     Return DateTime.Now.ToString()
 End Function

Мне нужно это для заполнения внутренней части div строкой, возвращаемой функцией GetDate (). Я думаю, что это должно использовать код, подобный этому:

<script type="text/javascript">
    $(document).ready(function () {
        // Add the page method call as an onclick handler for the div.
        $("#Result").click(function () {
            $.ajax({
                type: "POST",
                url: "test.aspx/GetDate",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    // Replace the div's content with the page method's return.
                    $("#Result").text(msg.d);
                }
            });
        });
    });
</script>

Я взял этот пример с этого сайта: http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

Однако я просто не могу заставить его работать. Ничего не произошло. Это просто обычный веб-проект asp.net. Я не занимался бизнесом, поддерживающим Ajax, кроме включения тегов сценариев в мою разметку для ссылки на jquery.

Вот что говорит консоль firebug, когда я нажимаю на div:

 POST http://admin/Default.aspx   GetDate   404 Not Found   -18ms

Редактировать: Примечание: test.aspx / GetDate должны соответствовать вашему имени страницы aspx и имени функции!

1 Ответ

3 голосов
/ 06 ноября 2010
<WebMethod()> _
Public Shared Function GetDate() As String
    Return DateTime.Now.ToString()
End Function

Должен быть "Shared" ("статический" в C #)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...