创建运行时html表时的性能问题

时间:2015-02-25 03:57:19

标签: c# asp.net

我有一个asp.net应用程序,我需要在页面中创建一个运行时html表。该函数从数据库中获取数据,并在页面上创建html表和渲染的运行时。该表包含6-8列和150-200行,每行包含一些输入测试框。一切正常,但在aspx页面中呈现html表时存在性能问题。以下是代码。

  private string GenereateTableData(int rowCount, MyDataList obDataList)
    {
        var table = new StringBuilder();
        string image = string.Empty;
        try
        {

            table.AppendFormat("<tr id='trModelDetail" + rowCount + "' name='RECORDNUM" + rowCount + "' >");

            table.AppendFormat("<td class='aa' align='left' width='80px' style='background-color: #fcfae6;' >");
            table.AppendFormat("<input type='text' name='' id='" + rowCount.ToString() + "' readonly='1' style='width: 75px;background-color: #fcfae6;' class='ActionTBox' maxlength='4' onblur='hideMsgDiv();' value='" + rowCount + "'/>");
            table.AppendFormat("</td>");

            table.AppendFormat("<td class='stdformfont' align='left' width='80px'>");
            table.AppendFormat("<input type='text' name='aa' id='aa' style='width: 75px;' class='' maxlength='10' />");
            table.AppendFormat("<input type='text' name='aa' id='aa' style='width: 75px;display:none; class='ActionTeox' maxlength='10' />");
            table.AppendFormat("</td>");


            table.AppendFormat("</tr>");

            return table.ToString();
        }
        catch (Exception)
        {

            throw;
        }
        finally
        {
            table = null;
        }
    }


    private void ShowData(MyDataList obDataList)
    {
        var table = new StringBuilder();

        try
        {

            table.AppendFormat("<table id='modelDetailsTable' cellpadding='0' cellspacing='0' border='0'>");


            for (int iCount = 0; iCount < obDataList.Count; iCount++)
            {
                // Fill the table with data 
                table.AppendFormat(GenereateTableData(iCount, obDataList[iCount]));

            }

            table.AppendFormat("</table>");

            // Show table in UI
            divData.InnerHtml = table.ToString();

        }
        catch (Exception)
        {

            throw;
        }
        finally
        {
            table = null;

        }
    }

1 个答案:

答案 0 :(得分:0)

更好的方法是在客户端创建HTML表结构,然后传递数据。这将减少从服务器到客户端的大量重复数据传输。您可以使用ClientScript.RegisterStartupScript将JQuery函数与数据一起调用并在客户端进行处理。

希望这有帮助。