Вот низкотехнологичное решение. Не требует использования веб-сервисов или каких-либо других дополнительных технологий.
Шаг 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. И нет, я не работаю на них :) Я не пробовал их сетку, но это может быть безболезненно (по цене).