2011-02-24 53 views
0

我有一个网站与一些GridView的,并希望添加更多的客户端功能。我想了解如何使用jQuery绑定gridview。尽我所能理解,一个jQuery函数将需要与web服务交互来填充g​​ridview?无论如何jQuery与网页代码隐藏中的潜艇进行交互?绑定与jQuery的asp.net gridview

+0

为什么不使用updatepanel控件按需加载gridview? – krishna 2011-02-24 17:51:57

+0

我在某些情况下使用更新面板,但正如我在另一条评论中提到的那样,我想在网页加载之后卸载GridView的填充。我认为jQuery会帮助我发挥这种魔力! – IMAbev 2011-02-24 17:55:10

+1

您仍然可以使用UpdatePanel执行此操作。将内部内容设置为Visible = false,然后在页面加载完成时调用__doPostBack('updatepaneluniqueid','true')(例如,第二个参数将被代码用来决定内容应该可见)以呈现它们。我可以在一个内容很重的页面中看到,这对于更好地控制渲染顺序可能有用。 – 2011-02-24 17:57:37

回答

2

这是一种苹果和橘子。如果您使用jQuery从客户端填充网格,那么您不再使用GridView,除了可能作为模板。但基本上,如果您想使用客户端代码来填充和管理基于大型服务器端数据库的网格的内容,那么您将针对每个事件运行来自客户端的ajax查询需要新的数据(如分页)和重建/重新填充网格。

jQuery通过ajax与服务器代码交互。因此,客户端需要的任何信息都必须来自专门设计用于提供该信息的服务器上的某些内容:WebService,WebMethod或专用页面,可以使用GET查询并返回html。

这当然是可行的,但你为什么要这样做?你的所有功能已经存在,而且通常还有更多的工作要做,即使从头开始,使用JavaScript完成大量的客户端/服务器交互。但是,没有什么能够阻止您使用jQuery为现有的基于服务器的网格装饰和添加新功能。

+0

谢谢jamietre。 '为什么我想这样做'是一个很好的问题!我想你答复的第2段是我想要做的。我的担忧是让用户在同一页面上,担心.net AJAX自动创建的膨胀(如果有的话),并且能够允许用户通过jQuery与gridview中的单元格进行交互。 – IMAbev 2011-02-24 17:49:46

+0

不确定你的意思是让用户保持在同一页面上。对于ajax膨胀,好吧,我们都担心这一点,但除非你正在解决一个特定的性能问题,否则你不得不问自己是否在没有需要的情况下进行工作。最后,为了与单元格进行交互,没有什么东西能够阻止你使用jQuery来渲染你的网格并添加你想要的任何功能。 – 2011-02-24 17:52:53

0

你为什么要这样做?你遇到性能问题吗?在这种情况下,您应该考虑重新调用数据获取方法。

+0

谢谢,Jan-Frederik,是的,有一些性能问题,我知道这完全是另一个主题。我最密集的数据载入网页浏览页面平均大约需要8秒。对于我的用户来说,这不是一个交易断路器,但我几乎认为加载页面,然后异步加载gridviews可能更加可口。 (另一个科目也是) – IMAbev 2011-02-24 17:52:33

+0

这是一个巨大的问题,每页加载8秒?但我怀疑它与使用UpdatePanels有关。你需要弄清楚究竟是什么导致了延迟并处理了它。对原因做出假设很可能最终会在不解决实际问题的情况下创建大量工作... – 2011-02-24 17:55:27

+0

我知道页面加载问题在哪里 - 它来自页面加载上的超过10个数据集请求。查询性能是一个不同的故事。我在想,如果我能更好地控制客户端控件,我会重建页面并希望压缩并最小化数据库请求。 – IMAbev 2011-02-24 19:19:01