0

我有一个用户控件,它是更新面板的一部分。用户控件是一个标题(标签)和一个 asp 表。ascx 文件中仅使用标题定义了 asp:Table。该表的内容是通过读取 csv 文件从后面的代码动态更新的。此设置位于每分钟更新的更新面板中。每分钟 csv 文件都会更新,因此需要更新表。

这是棘手的部分。在更新表之前,我需要保存旧表的副本,然后更新新表。更新新表并且即将加载页面后,我需要从 page_load 处理程序中调用 javascript 函数并传递两个表。在 javascript 函数中,我需要逐个单元格地比较旧表和新表,并根据比较结果做一些工作。

这是我在更新之前将数据从表复制到另一个表的方法。

TableCell tableCell;
TableRow tableRow;
for (int i = 0; i < Table1.Rows.Count; i++)
{
    tableRow = new TableRow();
    for (int j = 0; j < Table1.Rows[i].Cells.Count; j++)
    {
        tableCell = new TableCell();
        tableCell.Text = Table1.Rows[i].Cells[j].Text;
        tableRow.Cells.Add(tableCell);
    }
    oldTable.Rows.Add(tableRow);
}

但是由于某种原因,当我将表格传递给 javascript 函数并访问 javascript 中的单元格时,我只看到标题,而看不到旧表中的任何值。但是当我访问我自己背后的代码中的单元格时,我可以看到这些值。

我的 HTML 是

<table id="ContentPlaceHolderBody_ContentPlaceHolderBody_TradxPriceTable_5_oldTable" ClientID="oldTable">
    <tr>
        <td colspan="3">6M EURIBOR</td>
        <td colspan="3">6M EURIBOR</td>
    </tr><tr>
         <td>Instr</td>
         <td>Bid</td>
         <td>Ask</td>
         <td>Instr</td>
         <td>Bid</td>
         <td></td>
    </tr><tr>
         <td></td>
         <td></td>
         <td></td>
         <td colspan="3">BASIS 3s6s</td>
    </tr><tr>
          <td></td>
          <td></td>
          <td></td>
          <td>Instr</td>
          <td>Bid</td>
          <td>Ask</td>
    </tr><tr>
         <td></td>
         <td></td>
         <td></td>
         <td></td>
         <td></td>
         <td></td>
    </tr>
</table>

我的 javascript 是

function foo(table1,table2)
{
   var oldTable = document.getElementById(table1);
   var newTable = document.getElementById(table2);
   alert(oldTable.rows[2].cells[1].innerHTML+" "+newTable.rows[2].cells[1].innerHTML);
}
4

1 回答 1

1

使用 html 表格并使用表格和值形成一个字符串,并将该字符串传递给 javascript。

string newTable = "<Table><Tr><Td>"+ somevalue +"</Td></Tr></Table>"

在javascript中

var newT = '<%= newTable %>'
于 2012-12-17T15:42:47.973 回答