好日子大家..载入和显示内容逐渐
我已经开发了DotNetNuke的模块,其中,我可能dislpay一个非常大的数据量,并在页面需要被加载到相当长的时间浏览器。 目前,在page_load期间,我只需从数据库获取数据并将其用作数据源来填充数据网格。
我想要做的是逐步加载和显示页面内容,以便快速向用户显示页面,然后一次填充数据网格,增强用户体验。我试图实现AJAX功能来实现这一点,但我很难搞清楚如何。
今天早上我开始看看,现在我可以在dotnentnuke中做一些基本的ajax植入术,但是我很难找到大纲类似实现的教程,或者自己弄清楚。
如果可以在不改变当前结构的情况下实现这一点,可以逐步获取数据并向DataGrid添加行,这样可以,但如果它会导致性能下降,我宁愿更改所有内容并在其他方式。另外,我认为AJAX是最好的选择,但如果应用程序能从中受益,我可以评估实现不同解决方案的可能性。
谢谢你在前进,
阿尔贝托
[编辑]
我已经部分解决了我的问题:
我改变了存储过程,以获取 “N” 行启动SQL来自特定索引“x”。
在asp:timer的每个循环中,我获取一组“n”行,并将视图状态保存到下一个起始索引“x”中,以便准备好获取下一组行。
在这一点上,在每个周期我有一个我的整个列表,我准备好显示给用户。
这里存在最后一个问题:是否可以将新行添加到已有的DataBound项目?
正如原来的帖子中提到的那样,此刻我正在使用一个asp:datagrid。将控件更改为显示数据没有问题,但我无法找到任何具有“部分数据绑定”功能的控件的引用。
现在唯一明显的解决方案是直接将每个控件添加到我的页面,但对我来说,它似乎只是一个“优雅”的一切;此外,每行包含13个控件,放置在我的数据网格中相当复杂的TemplateColumn中。
任何人都有更好的主意?
预先感谢您
[编辑2]
我越来越接近解决方案(实际上是两个可能的解决方案)
A液 通过越来越熟悉阿贾克斯和动态添加控制,我Techincally能够通过动态添加控件来“伪造”数据网格的数据显示。
溶液B 那我现在测试的解决方案是,
第1步 - 数据绑定所有的行仅与数据的很小一部分数据网格,以便使所有行,但大大减少加载时间。
第2步 - 在asyncpostbacks期间,我获取行组并填写其余数据。
我会再次更新,当我有一些好的结果。
在此期间,我仍然接受建议和/或替代性解决方案
二年即可回收的一天!
注意:datagrid disaplys列表与关于内容的基本信息;当我点击特定行中的一个按钮时,模块会执行回发功能,隐藏数据网格,并显示页面的另一部分以及其他数据,以及我可以在哪里编辑内容。保存,关闭或删除所选项目时,会发生另一个回发,返回到数据网格并重新加载数据,以便最终删除或更改修改的项目。该功能必须保留在最终产品中。 再次感谢你 – Alberto 2011-05-27 16:01:19