Возврат данных из ASP.net в сетку ExtJS
-
03-07-2019 - |
Вопрос
Мне дали прототип/макет сетки, написанный на html и javascript (через ExtJS), который мне теперь нужно реализовать в веб-приложении ASP.net.Есть ли у кого-нибудь подсказки о том, как передавать данные в сетку (в частности, в GroupingStore).
Я бы предпочел, чтобы не было большого количества веб-сервисов или вспомогательных страниц, возвращающих XML/JSON, поэтому, если есть способ использовать обратные вызовы клиента или методы страницы (разве вы не знаете, что я не особо знаком с ними - модное словечко бинго!) или какой-то такой, который был бы предпочтительнее.
Пожалуйста, не рекомендуйте мне использовать jQuery, встроенную сетку ASP.net или любую другую среду пользовательского интерфейса.Использование сетки ExtJS было санкционировано власть имущими, так что я использую именно эту сетку, к лучшему или к худшему :)
Решение
Вот низкотехнологичное решение.Он не требует использования веб-сервисов или каких-либо других дополнительных технологий.
Шаг 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();
}
Вы можете использовать ДжейРок для сериализации таблицы данных в JSON.ИМХО это дает самый чистый JSON.
Так что это становится DataTable
в JSON отсортировано...
ПРЕДУПРЕЖДЕНИЕ:Очевидно, это упрощенный пример.Не следует передавать SQL в строку запроса, поскольку это небезопасно (вместо этого можно использовать именованные запросы и параметры).
Шаг 3
В вашем коде ExtJS создайте сетку с хранилищем данных Json, как показано на этом рисунке. Внешний пример.Установить хранилище данных url:
к странице query.aspx с соответствующими параметрами строки запроса.
Вам также потребуется настроить столбцы для сетки, как это снова показано в примере ExtJs.
Альтернативно...
Я был очень впечатлен, когда посмотрел на Образцы кулита недавно.Они являются партнерами ExtJS и предоставляют хороший опыт работы с ASP.NET и ExtJS.И нет, я у них не работаю :) Их сетку не пробовал, но возможно это безболезненно (по цене).
Другие советы
Я полагаю, что сервис, который просто возвращает структуры json для ваших страниц, является наилучшим вариантом: он хорошо абстрагируется и может использоваться повторно в приложении, а не в методах страниц.