0

読んでくれてありがとう。MVCに移行するにつれて、多くのJavascript(私は非常に弱い)にさらされる機会も増えています。

以下のようなデータのリストをレンダリングするビューがあります

<table>
    <tr>
        <th>heading 1</th>
        <th>heading 2</th>
        <th>heading 3</th>
        <th>heading 4</th>
        <th>chart</th>
    </tr>
    foreach(var item in Model)
    {
        <tr>
            <td>@item.data1</td>
            <td>@item.data2</td>
            <td>@item.data3</td>
            <td>@item.data4</td>
            <td><div id="graphname"></div> </td>
        </tr>
    }
</table>

ここhttp://blog.simontimms.com/2009/06/bar-graphs-using-flot-and-aspnet-mvc.htmlの例に従うことで、適切なデータを取得できます。そのリンクから学んだことをどのように使用できます <div id="graphname"></div> か?また、IDによって参照されるため、複数のグラフを作成/返すことができますか?または、これを完全に行うためのより良い方法はありますか?

4

1 に答える 1

1

divごとに一意のIDを設定する必要があります。

これは、いくつかの異なる方法で行うことができます。最もクリーンなのは、何らかの方法でデータに関連付けることです。たとえば、各アイテムのitem.data1が一意の値(主キーなど)である場合は、次のように実行できます。

<div id = "@("graphname_ "+ item.data1>"

または、foreach内にインデックスを追加して、それを参照することもできます

int i = 0;
foreach(var item in Model)
{
    <tr>
        <td>@item.data1</td>
        <td>@item.data2</td>
        <td>@item.data3</td>
        <td>@item.data4</td>
        <td><div id="@(graphname + i)"></div> </td>
    </tr>
    ++i;
}

そこから、グラフごとに$ .plotを呼び出し、必要なデータと正しいdivを参照するだけです。

于 2012-08-08T01:06:12.857 に答える