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 回答