我正在编写一个使用 ASP.NET 作为服务器端技术来从 SQL Server 后端检索数据的数据驱动的 Web 应用程序。虽然我使用服务器端代码来操作输出,但一切正常。但是,我编写了一些 jQuery 脚本(使用 Raphael.js)来根据数据绘制交互式图形。将数据集传递给 javascript 函数的最佳方法是什么?
目前我有 ASP.NET 将数据输出为某种可预测的格式(如表格或类似格式):
<table>
<tbody>
<tr id='0'>
<th>Risk:</th>
<td class="val">10</td>
<td>41.7%</td>
<td class='col'>red</td>
</tr>
<tr id='1'>
<th>Caution:</th>
<td class="val">6</td>
<td>25.0%</td>
<td class='col'>orange</td>
</tr>
</tbody>
</table>
然后我在一个块中解析$(function() {})
以提取数据:
$(function() {
var values = [],
labels = [];
$("tbody > tr", this).each(function () {
values.push(parseInt($("td.val", this).text(), 10));
labels.push($("td.col", this).text());
});
});
然后我使用 raphael 将其绘制成图表。完成后,我display: none
在数据表上进行设置。
有一个更好的方法吗?当前的解决方案要求我了解 (a) 输出的数据格式,(b) js 脚本和 (c) 样式化各个方面以确保它们都“同步”的 css。我想知道是否有某种方法可以使用 JSON 或其他方式传递数据集?
我当前解决方案的一个小缺点是创建图表所需的原始数据仍然在 HTML 中(尽管被隐藏了),因此任何有半脑的人都可以查看。