簡體   English   中英

將表格從C#代碼傳遞到javascript函數

[英]Passing tables from C# code behind to a javascript function

我有一個用戶控件,它是更新面板的一部分。 用戶控件是一個heading(標簽)和一個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);
}

使用html表並與表和值組成一個字符串,然后將該字符串傳遞給javascript。

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

在JavaScript中

var newT = '<%= newTable %>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM