2

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 にある (隠されているにもかかわらず) ため、頭の半分しかない人なら誰でも見ることができることです。

4

1 に答える 1