Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 10000+;要快速呈现的html记录_C#_Asp.net_Html_Render - Fatal编程技术网

C# 10000+;要快速呈现的html记录

C# 10000+;要快速呈现的html记录,c#,asp.net,html,render,C#,Asp.net,Html,Render,这将是一个非常荒谬的问题。但我能做什么,这是客户的要求。基本上,我们有一个网格(主细节类型),可以增加到15000多行(有可能在几年内增加到30000-50000行) 我的客户机不需要任何分页,也不希望任何数据被裁剪。另外,他并没有使用最新的硬件,所以在浏览器上渲染是一个大问题。他想通过打印出来或在浏览器上浏览来查看所有内容。(你们可能都认为这听起来有多疯狂,这确实是) 现在我想通过快速呈现html来解决这个问题。目前,它是一个简单的asp.net网格视图,没有分页。它本质上呈现HTML表。我认

这将是一个非常荒谬的问题。但我能做什么,这是客户的要求。基本上,我们有一个网格(主细节类型),可以增加到15000多行(有可能在几年内增加到30000-50000行)

我的客户机不需要任何分页,也不希望任何数据被裁剪。另外,他并没有使用最新的硬件,所以在浏览器上渲染是一个大问题。他想通过打印出来或在浏览器上浏览来查看所有内容。(你们可能都认为这听起来有多疯狂,这确实是)

现在我想通过快速呈现html来解决这个问题。目前,它是一个简单的asp.net网格视图,没有分页。它本质上呈现HTML表。我认为我的选择是: -使用div手动呈现html(用于快速加载) -将其导出为pdf或excel(是否有无需借助第三方控制的导出方法?) -伸出手指(给客户:D j/k)


总而言之,在html上显示10000多条数据记录的最佳方式是什么?

您应该进行分页-这并不意味着您一次只需要显示一页数据,而是您应该一次检索和呈现一页又一页的数据(并不断一页地获取数据,直到数据完成)

例如,在初始请求中从服务器发送第一页数据。设置一个js计时器,并使用AJAX请求检索随后的数据页面,并将其加载到浏览器中。您可以同时进行多个(比如3-4个)AJAX请求来检索页面——唯一的事情就是在这种方法中正确地实现排序

我个人将避免使用网格视图,并使用手动java脚本(在jquery帮助下)或使用一些java脚本模板引擎呈现html表。我将使用JSON从服务器检索数据

考虑使用“滚动条”

作为DataTables 1.8发行版的一部分,我们开发了一个名为“Scroller”的新插件 作为下载包的一部分引入。滚动条是一种 DataTables虚拟滚动的实现,它提供了一个 垂直滚动表格,滚动表格的整个高度, 但仅绘制可视显示所需的行, 导致性能大幅提升。这是一个相当令人兴奋的时刻 DataTables插件不仅可以提高性能,还可以 因为它有效地提供了新的用户与表的交互, 允许完全滚动非常大的数据集

他想通过打印查看所有内容

这是查看所有信息的唯一可行解决方案。PDF或Excel在处理大量行方面要优于

进行渲染非常容易。只需设置excel mime类型并返回一个HTML表


谈到PDF,您可能必须使用像PDFSharp这样的外部库。

我知道这几乎晚了一年,但以防它对某人有所帮助


使用-它使用div而不是表,这在IE中提供了更高的性能。选中此项

您确实有选项,使用nustach将对象呈现为html,然后附加到容器中,使用YUI Data table,最后可以使用客户端代码使用Backbone.js委托渐进加载类型的表,该表将在滚动或点击load more按钮时加载更多行。由于(较旧的)浏览器在开始布局页面之前需要读取整个表,因此长表的速度可能较慢。也许一个非表格的解决方案会更好。你必须考虑如果你给客户提供的任何解决方案都会对结果感到满意,我更倾向于使用通用UI控件模拟演示,让客户看看他应该期望什么样的糟糕用户体验,否则你的声誉可能会受到影响,而这不值得为不切实际的期望付出代价。@deeptechtons:非常感谢你的建议。我正在尝试,模板当然有帮助,但是在渐进加载问题上,只是有点不安,因为它有时会失败。@Hans Kesting:你说得对,长表在页面呈现上有这个问题,我考虑使用div作为替代方法,但是因为数据是网格形式(典型的行/单元格类型),创建div只需要稍长一点的时间,还没有对两者都进行性能测试,所以不确定使用div会获得多少好处。他说,由于客户端的要求,他无法实现分页。@BojanSkrchevski,客户端希望同时查看所有数据,而不是一次查看一页。请仔细阅读答案-我建议寻呼以检索和显示数据,即您使用计时器不断加载整页数据。谢谢您的快速回复,VinnaC.)在这里,渐进加载无疑是前进的方向,但是我以前没有太多地使用过它,而且它在不同的浏览器中似乎有时会出现问题,而且由于我们的客户机使用的是石器时代的浏览器,你永远不知道AJAX和javascript何时会放弃。谢谢你的朋友:)现在就开始研究这个问题。啦啦队队员(jgauffin.)我一直在研究pdfsharp和其他开源pdf生成器。没有意识到对于简单的表结构,切换mime类型会在excel中打开它。谢谢你:)