将数据从ASP.net返回到ExtJS网格

我已经获得了用html和javascript(通过ExtJS)编写的网格的原型/模型,我现在需要在ASP.net Web应用程序中实现.有没有人有关于如何将数据传递到网格(特别是GroupingStore)的任何指针.

我宁愿没有大量的Web服务或辅助页面返回XML / JSON,所以如果有办法使用客户端回调或页面方法(你不能告诉我我不是特别熟悉 – 流行语宾果!)或某些人,这将是首选.

请不要使用jQuery,内置ASP.net网格或任何其他UI框架的建议. ExtJS网格的使用是由权力强制执行的,所以这就是我正在使用的网格,无论好坏:)

解决方法

这是一种低技术解决方案.它不需要使用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 example所示.将数据存储url:设置为query.aspx页面的网格,并包含相应的查询字符串参数.

您还需要为网格设置列,再次显示在ExtJs示例中.

另外…

我最近看了Coolite samples时给人留下了深刻的印象.他们是ExtJS的合作伙伴,提供了一个很好的ASP.NET& ExtJS经验.不,我不为他们工作:)我没有尝试他们的网格,但它可能是无痛的(付出代价).

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...