ASP.NET AJAX без панели обновления - PullRequest
3 голосов
/ 07 марта 2009

Какова лучшая практика для поддержки данных для веб-приложения asp.net 2.0-3.5 ajax? Я не хочу использовать панели обновления, просто текстовые данные (JSON). Должен ли я использовать веб-сервисы? Или есть другой способ.

Ответы [ 2 ]

7 голосов
/ 08 марта 2009

Errrr ... Использовать страницу .aspx? Для чего нужны обработчики?

Вам просто нужно создать базовый базовый обработчик, который позаботится о сериализации json (de) (например, с использованием Json.net ), а затем реализовать обработчики для ваших вызовов ajax.

public abstract class JsonHandlerBase<TInput, TOutput> : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "application/json";
        TInput input = (TInput)context.Request; // Desesialize input
        TOutput output = ProcessRequest(context, parameter);

        string json = (string)output; // Serialize output
        context.Response.Write(json);
    }

    public abstract TOutput ProcessRequest(HttpContext context, TInput input);

    public bool IsReusable { get { return false; } }
}

Это всего лишь пример, вы сами решаете, хотите ли вы, что вам нужно в вашем базовом обработчике.

1 голос
/ 07 марта 2009

Вы можете использовать обычные aspx-страницы или обработчики и просто выводить JSON. Вы делаете это, стирая все Html в aspx и затем используя Response.Write () в коде.

Тогда для внешнего интерфейса JS вы можете использовать JQuery или любую другую инфраструктуру Ajax.

Вы также можете проверить Asp.Net MVC. MVC имеет резонансный тип JsonResult и очень прост в использовании вместе с JQuery для получения очень хорошей функциональности Ajax.

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