日期:2014-05-17  浏览次数:20420 次

asp.net页面动态增加和删除表格行效率问题
各位,我有一个页面表格需要动态增加和删除行,表格一般在30行以上,且每行有几个单元格的内容较多,最后提交数据库。
增加和删除行我用的方法是循环表格内容生成数组,然后序列化数组保存在viewstate中,当需要增删表格时候,
直接操作viewstate,操作完成后再绑定到表格。
现在的状况是,我采用的这种方式在行比较少的情况下测试无问题,在20行以上的话速度就明显非常慢了。用户忍受不了这种速度。
我要问的是:大家在做这种动态添加和删除表格一般用什么方法效率高(我的表格行中有textbox,输入内容会有ontextchange事件带出这一行的其他信息。)


------解决方案--------------------
JScript code
$.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操作,不过有可能会引起内存泄露。
------解决方案--------------------
探讨
JScript code

$.ajax({
data: pars,
url: url,
type: "POST",
contentType: "application/json;utf-8",
dataType: 'json',
cache: false,
succe……