asp.net页面动态增加和删除表格行效率问题
各位,我有一个页面表格需要动态增加和删除行,表格一般在30行以上,且每行有几个单元格的内容较多,最后提交数据库。
增加和删除行我用的方法是循环表格内容生成数组,然后序列化数组保存在viewstate中,当需要增删表格时候,
直接操作viewstate,操作完成后再绑定到表格。
现在的状况是,我采用的这种方式在行比较少的情况下测试无问题,在20行以上的话速度就明显非常慢了。用户忍受不了这种速度。
我要问的是:大家在做这种动态添加和删除表格一般用什么方法效率高(我的表格行中有textbox,输入内容会有ontextchange事件带出这一行的其他信息。)
[解决办法]
$.ajax({ data: pars, url: url, type: "POST", contentType: "application/json;utf-8", dataType: 'json', cache: false, success: function (json) { callback(json.d); }, error: function (xml, status) { if (status == 'error') { try { var json = eval('(' + xml.responseText + ')'); alert(json.Message + '\n' + json.StackTrace); } catch (e) { } } else { alert(status); } }, beforeSend: function (xml) { if (!pars) xml.setRequestHeader("Content-Type", "application/json;utf-8") } });
[解决办法]
我也建议通过js来做前段dom控制,json或者数组保存数据,操作完后直接将json数据提交回去就可以。
但是根据W3C标准table的innerhtml和innertext是只读的,虽然是可以通过js操作,不过有可能会引起内存泄露。
[解决办法]