这是一个低技术的解决方案。它不需要使用 Web 服务或任何其他附加技术。
第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 页面的数据存储。
您还需要为网格设置列,再次显示在 ExtJs 示例中。
或者...
最近看到Coolite 样品时,我印象深刻。他们是 ExtJS 的合作伙伴,提供良好的 ASP.NET 和 ExtJS 体验。不,我不为他们工作 :) 我没有尝试过他们的网格,但它可能是无痛的(有代价的)。