ASP.NET をサーバー側テクノロジとして使用して、SQL Server バックエンドからデータを取得するデータ駆動型 Web アプリを作成しています。サーバー側のコードを使用して出力を操作していますが、すべて正常に動作します。ただし、データに基づいてインタラクティブなグラフを描画するために、(Raphael.js を使用して) いくつかの jQuery スクリプトを作成しました。データセットを 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 にある (隠されているにもかかわらず) ため、頭の半分しかない人なら誰でも見ることができることです。