Возврат данных из ASP.net в сетку ExtJS - PullRequest
3 голосов
/ 21 октября 2008

Мне дали прототип / макет сетки, написанной на html и javascript (через ExtJS), который мне теперь нужно реализовать в веб-приложении ASP.net. У кого-нибудь есть указания относительно того, как передавать данные в сетку (в частности, в GroupingStore).

Я бы предпочел не иметь большого количества веб-сервисов или вспомогательных страниц, возвращающих XML / JSON, так что если есть способ использовать обратные вызовы клиента или методы страницы (не можете ли вы сказать, что я не особенно знаком с этим - buzzword bingo !) или что-то такое, что было бы предпочтительным.

Пожалуйста, не рекомендуйте мне использовать jQuery, встроенную сетку ASP.net или любую другую инфраструктуру пользовательского интерфейса. Использование сетки ExtJS было предписано имеющимися полномочиями, так что я использую эту сетку, к лучшему или к худшему:)

Ответы [ 2 ]

3 голосов
/ 21 октября 2008

Я полагаю, что сервис, который просто возвращает структуры json для ваших страниц, является лучшим вариантом, его можно абстрагировать и использовать повторно во всем приложении, а не в методах страниц.

1 голос
/ 21 октября 2008

Вот низкотехнологичное решение. Не требует использования веб-сервисов или каких-либо других дополнительных технологий.

Шаг 1

Иметь ASPX-страницу, которая принимает один параметр и вызывается так:

http://mysite.com/query.aspx?sql=select * from orders where status = 'open'

Шаг 2

В приведенном ниже коде сделайте что-то подобное

void Page_Load(object sender, EventArgs e)
{
   Response.ContentType="text/json"; 
   DataTable contents = ExecuteDataTable(Request["sql"]);
   Response.Write( JRockSerialize( contents ) );
   Response.End();
}

Вы можете использовать JRock для сериализации таблицы данных в JSON. ИМХО это дает самый чистый JSON.

Так что это DataTable в JSON отсортировано ...

ВНИМАНИЕ: Это, очевидно, упрощенный пример. Вы не должны передавать SQL в строку запроса, поскольку она небезопасна (вместо этого вы можете использовать именованные запросы и параметры).

Шаг 3

В вашем коде ExtJS создайте сетку с хранилищем данных Json, как показано в этом примере Ext . Установите хранилище данных url: на хранилище вашей страницы query.aspx с соответствующими параметрами строки запроса.

Вам также нужно будет настроить столбцы для сетки, снова показанной в примере ExtJ.

С другой стороны ...

Я был очень впечатлен, когда недавно посмотрел образцы Coolite . Они являются партнерами ExtJS и предоставляют хороший опыт работы с ASP.NET и ExtJS. И нет, я не работаю на них :) Я не пробовал их сетку, но это может быть безболезненно (по цене).

...