ASP.NET Ajax с и без Telerik - PullRequest
       18

ASP.NET Ajax с и без Telerik

0 голосов
/ 07 декабря 2011

Я новичок в ASP.NET (я - разработчик PHP) и пытаюсь понять, как использовать AJAX в ASP.NET.

В PHP все было просто: создайте асинхронный запрос к странице PHP, и ответ помещается в div.

а в ASP.NET как это сделать? Создать асинхронный запрос к странице aspx и поместить логику в событие Load? Использовать обработчик ASP.NET / модуль ASP.NET?

А как насчет Telerik Ajax? Я видел, что в RadAjaxManager вы указываете контроллер, который делает запрос, контроллер, который будет изменен ответом, но я не вижу, куда поместить логику, как вернуть ответ ...

Демонстрации Telerik были сложными, и я ничего не понял. Я просто не могу понять, как работает telerik ajax, потому что не вижу того, что вижу при программировании ajax в javascript ...

спасибо!

1 Ответ

2 голосов
/ 07 декабря 2011

То, как я использую Ajax в ASP.NET, аналогично PHP, единственное, что я называю веб-метод.Таким образом, вызов Ajax не должен проходить весь процесс со всеми инициализацией, загрузкой, предварительным отображением и т. Д. Это намного быстрее, чем выполнение вызова обычной страницы ASP.NET.

Мой опыт работы с Telerik заключается в том, что если вы хотите простой вызов Ajax, это очень медленно и плохо для вашей производительности.

Ниже я приведу простой пример того, как вы можете это сделать:

Для C #

public partial class _Default : Page 
{
  [WebMethod]
  public static string GetDate()
  {
    return DateTime.Now.ToString();
  }
}

Для VB:

Imports System.Web.Services

Partial Class Default
    Inherits System.Web.UI.Page

    <Script.Services.ScriptMethod()> _
    <WebMethod()> _
    Public Shared Function getDate() As String
        return DateTime.Now.ToString()
    End Function

End Class

Ваш Javascript:

$.ajax({
    url : "Default.aspx/getDate",
    data : null, // Needs to be a String!, see URL below
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success : function(data){
        var result = data.d; // ASP.NET gives a .d object to the client
        // result = your date, but if you return a SortedList, you can use result.date, or result.html or whatever.
    }
});

Для получения дополнительной информации:

  1. Ajax (Webmethod): http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/
  2. JSON Stringify: https://github.com/douglascrockford/JSON-js
...