старшие диаграммы включают несколько диаграмм в foreach

0

Я работаю в ASP.NET и имею цикл foreach. Я хочу добавить новый highchart на каждой итерации моего цикла. Я не получаю никаких ошибок, но только первый график рисует, и он рисует только что вроде ничего не показывающего.

Это то, что у меня есть:

@foreach (Review r in @Model.Reviews)
{

    <div style="margin-bottom: 10px; width: 70%;">
        @Html.ActionLink(@r.Business.Name, "BusinessDetail", new { id = @r.Business.ID }, new { @class = "business-link" })
    </div>


    <div style="width: 70%;" id="review-container">
        <p>@r.Text</p>
        <center style="margin-bottom: 25px;">

            <div id='container1' style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto">
                <script type="text/javascript">
                    $(function () {
                        $('#container1').highcharts({
                            chart: {
                                backgroundColor: 'rgba(255, 255, 255, 0.01)',
                                plotBorderWidth: 0,
                                plotShadow: false
                            },
                            title: {
                                text: 'Browser<br>shares',
                                align: 'center',
                                verticalAlign: 'middle',
                                y: 50
                            },
                            tooltip: {
                                pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                            },
                            plotOptions: {
                                pie: {
                                    dataLabels: {
                                        enabled: true,
                                        distance: -50,
                                        style: {
                                            fontWeight: 'bold',
                                            color: 'white',
                                            textShadow: '0px 1px 2px black'
                                        }
                                    },
                                    startAngle: -90,
                                    endAngle: 90,
                                    center: ['50%', '75%']
                                }
                            },
                            series: [{
                                type: 'pie',
                                name: 'Vote Count',
                                data: [
                                    ['Useful', @r.UsefulVoteCount],
                                    ['Cool', @r.CoolVoteCount],
                                    ['Funny', @r.FunnyVoteCount],

                                ]
                            }]
                        });
                    });

                </script>
            </div>
        </center>
    </div>
</center>

}

Теги:
asp.net-mvc
highcharts

1 ответ

2
Лучший ответ

Ваш код зацикливается на r но вы когда-либо создаете диаграмму в $('#container1').highcharts(...). Вам нужно создать новый контейнер и вызвать новые highcharts для создания диаграммы. Есть много способов сделать это.

  • 1
    о, может быть, просто увеличивать id контейнера в каждом цикле и затем вызывать highcharts для этого нового контейнера?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню