将数据从ASP.net返回到ExtJS网格
我得到了一个用html和javascript(通过ExtJS)编写的网格原型/模型,我现在需要在ASP.net web应用程序中实现它。是否有人对如何将数据传递到网格(特别是GroupingStore)有任何指示 我不希望出现大量返回XML/JSON的web服务或帮助器页面,因此如果有一种方法可以使用客户端回调或页面方法(你不能告诉我我不是特别熟悉——buzzword bingo!)或类似的方法,那将是首选将数据从ASP.net返回到ExtJS网格,asp.net,extjs,asp.net-2.0,Asp.net,Extjs,Asp.net 2.0,我得到了一个用html和javascript(通过ExtJS)编写的网格原型/模型,我现在需要在ASP.net web应用程序中实现它。是否有人对如何将数据传递到网格(特别是GroupingStore)有任何指示 我不希望出现大量返回XML/JSON的web服务或帮助器页面,因此如果有一种方法可以使用客户端回调或页面方法(你不能告诉我我不是特别熟悉——buzzword bingo!)或类似的方法,那将是首选 请不要建议我使用jQuery、内置ASP.net网格或任何其他UI框架。ExtJS网格的
请不要建议我使用jQuery、内置ASP.net网格或任何其他UI框架。ExtJS网格的使用是由be的权力强制规定的,所以这就是我使用的网格,无论是好是坏:)我相信一个简单返回页面json结构的服务是最好的选择,它可以很好地抽象并在整个应用程序中重用,而不是页面方法。这是一个低技术的解决方案。它不需要使用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();
}
可以使用将数据表序列化为JSON。
IMHO提供了最干净的JSON
这就是将DataTable
排序为JSON
警告:这显然是一个过于简单的例子。您不应该在查询字符串上传递SQL,因为它不安全(您可以使用命名查询和参数)
步骤3
在ExtJS代码中,使用Json数据存储创建一个网格,如下所示。使用适当的查询字符串参数将数据存储url:
设置为query.aspx页面的数据存储
您还需要为网格设置列,如ExtJs示例所示
或者…
当我最近看到这张照片时,我真的很感动。他们是ExtJS合作伙伴,提供了良好的ASP.NET和ExtJS体验。不,我不为他们工作:)我还没有试过他们的网格,但它可能是无痛的(代价很高)。恶心。您应该将警告标记为红色、粗体和闪烁。从来没有,从来没有,从来没有一个页面允许您执行“sql=select*from orders where status='open'”操作!别这样!我说真的!这就像贴上一个牌子“过来攻击我。复制我的数据库,然后删除我所有的数据!”只是同意不承担责任。永远不要那样做。编写一个web服务,以JSON的形式获取结果。这确实很容易。有一个很好的理由可以证明这一点