我需要将大量数据从服务器传输到客户端,然后使用JavaScript(jQuery)生成大量表,div
以及其他已知和未知的html元素。
当我尝试在客户端生成这些表和div
时,我有一些for循环,我正在创建和附加元素。
我很快发现生成所有这些元素并显示它们需要花费大量时间,因此我在服务器端使用HtmlTextWriter
生成HTML然后将其转换为ToString()
并在客户端附加该字符串
速度要快得多,但我们用我的语言称之为“seljacki”(最接近的翻译是“不优雅的解决方案”)。
所以我想问一下,是否有人有一些更优雅的解决方案可以建议,这种方法是我使用完全错误还是可以通过?
感谢大家。
答案 0 :(得分:3)
你没有在这里显示你的代码,但是我猜你在你的循环中反复将行附加到表中,或者当你遍历结果时。如果是这样,瓶颈实际上并不是生成HTML,而是每次迭代重绘内容。尝试将整个HTML组合起来先添加内存,然后使用单个append()
或html()
调用来更新文档。
答案 1 :(得分:0)
我会继续将数据传递给客户端并创建html。我刚开始玩jQuery templates,到目前为止他们很棒。由于在客户端创建元素显然会慢一些,为什么不只是根据需要创建和/或加载它们。用户一次只能看到这么多,所以为什么要让他们等待他们可能永远看不到的东西。