1

我在这里遇到了一个小问题。我有一个<script language ="JavaScript" runat="server">从网站读取表格、解析数据并将其存储在二维数组中的代码。它工作正常;我可以使用 Response.Write 显示数据。

现在,我想使用数组中的数据来构建我自己的表格并在浏览器中显示它。我以为我会添加:

</head> 
<body onload="tableCreator();">
<table id="table" border="1">
    <tr> 
    <td id="Document Number">Document Number</td>
    <td id="Document Link">Document Link</td>
    <td id="Date Filed">Date Filed</td>
    <td id="Date Entered">Date Entered</td>
    <td id="Date Terminated">Date Terminated</td>
    <td id="Description">Description</td>
    </tr>
</table> 
<body> 
</html>

脚本结束后,但这是问题开始的地方。我不知道在哪里插入tableCreator()函数。如果我在 (script language ="JavaScript" runat="server") 代码中执行此操作(以便能够使用数组的数据),则不会调用该函数。当我将标签更改为 (script language ="JavaScript") (no runat="server") 时,该函数被调用,但脚本没有运行(我有多个 Response.Write 并且什么都没有,但表是正在打印)

function tableCreator () {
  var table = document.getElementById("table");
  var rowCount = table.rows.length;
  var row;
  row = table.insertRow(rowCount);
  var cell1 = row.insertCell(0);
  cell1.innerHTML = "1";
}

有任何想法吗?

4

1 回答 1

1

您混淆了服务器端代码和客户端代码。

JavaScript 无法访问在服务器上创建的二维数组(添加runat="server"到您的script标签不会让您访问服务器端变量)。您需要以服务器端语言序列化数组,然后使其可供客户端访问(隐藏字段可以很好地解决此问题)。

或者,如果您有数据服务器端,为什么要在客户端创建表。只需在页面加载时在服务器端创建表。

于 2012-05-23T19:30:11.543 回答