html运行时创建代码非常慢

时间:2015-02-27 13:05:22

标签: javascript html asp.net-mvc caching client-side

我制作了一个电子表格 示例图片 http://www.jqwidgets.com/wp-content/uploads/2012/08/jquery-spreadsheet.png

这是我的总数据(3974行)(我正在使用权利Mvc 4 c#/ framework 4.5存储过程)没有连接单表而且我使用LOCALHOST)mssql 2014 express 但我很等待(只有html创建)没有数据(avarage 2分钟只加载)当我点击单元格(输入)等待8秒

3.794行来自服务器只有html创建缓慢

如何加快速度?如果不可能.. 或者你能推荐我一个电子表格吗? 或客户端缓存或mvc数据缓存哪些有用? 谢谢

function GridEstimation() {

var estimationModel = GetEstimations();  3.974 ROWS
var GridEstimation = document.getElementById('GridEstimation');

var dynamicNav = "";
if (estimationModel != "undefined") {

    dynamicNav += '<div class="table-wrapper">';
    dynamicNav += '<div class="table-scroll">';
    dynamicNav += '<table class="tftable" border="1">';
  

24船只行

    dynamicNav += '<tr>'
    dynamicNav += '<th>Invoice Item</th>' 
    for (var i = 0; i < estimationModel.Vessels.length; i++) { 

        dynamicNav += '<th id=' + estimationModel.Vessels[i].VesselID + '>' + estimationModel.Vessels[i].VesselName + '</th>'

    }
    dynamicNav += '</tr>'
  

158项目(股票)行

    for (var m = 0; m < estimationModel.Items.length; m++) {

      dynamicNav += '<tr>';
        dynamicNav += '<td>' + estimationModel.Items[m].InvoiceItemName + '</td>';
  

3.792 CELL INPUT ROWS

  for (var n = 0; n < estimationModel.Estimations.length; n++) {
            dynamicNav += '<div><input type="text" id=' + estimationModel.Estimations[n].EstimationID + '/></div>';

        }

        dynamicNav += '</tr>'
    }

    dynamicNav += '</tr>'
    dynamicNav += '</table>'
    dynamicNav += '</div>';
    dynamicNav += '</div>';
} 

$("#GridEstimation").append(dynamicNav);  

}

1 个答案:

答案 0 :(得分:0)

其中一个原因是,这可能会非常缓慢,因为您可能会创建一个大的HTML字符串并将其逐个连接起来。以下示例可以极大地改善http://www.codeproject.com/Articles/12375/JavaScript-StringBuilder

然后更好的方法是逐步(在while循环中)呈现HTML,而不是一次性在一个巨大的HTML字符串中。