【问题标题】:Returning data from ASP.net to an ExtJS Grid将数据从 ASP.net 返回到 ExtJS 网格
【发布时间】:2008-10-21 09:18:14
【问题描述】:

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

我不希望有大量的 Web 服务或返回 XML/JSON 的帮助页面,所以如果有使用客户端回调或页面方法的方法(你能不能告诉我我也不是特别熟悉 - 流行语宾果游戏) !)或类似的东西,那将是首选。

请不要推荐我使用 jQuery、内置的 ASP.net 网格或任何其他 UI 框架。 ExtJS 网格的使用是由权力规定的,所以这就是我正在使用的网格,无论好坏:)

【问题讨论】:

    标签: asp.net extjs asp.net-2.0


    【解决方案1】:

    我相信为您的页面简单地返回 json 结构的服务是最好的选择,它被很好地抽象和可在整个应用程序中重用,而不是页面方法。

    【讨论】:

      【解决方案2】:

      这是一个低技术含量的解决方案。它不需要使用网络服务或任何其他附加技术。

      第 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 体验。不,我不为他们工作 :) 我没有尝试过他们的网格,但它可能是无痛的(有代价的)。

      【讨论】:

      • 呸。您应该将警告标记为红色、粗体和闪烁。从来没有,从来没有,NEVER 有一个页面允许您执行“sql=select * from orders where status = 'open'”!不要这样做!我是认真的!这就像张贴一个标志“来这里攻击我。复制我的数据库,然后删除我拥有的所有数据!”
      • 只是同意 BlaM。永远不要那样做。编写一个 Web 服务,以 JSON 格式获取结果。这很容易。
      • 确实如此。查看thedailywtf.com/Articles/… 有充分的理由
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2012-01-09
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      相关资源
      最近更新 更多