Визуализация пары диаграмм Shield UI ASP.NET MVC на одной странице

Я новичок в диаграммах Shield UI ASP.NET MVC. Кажется, я столкнулся с довольно странной проблемой. Я использую две диаграммы на странице и взял код из онлайн-учебника, но застрял и не могу продолжать. Когда они оба присутствуют:

@(Html.ShieldChart()
.Name("chart")
.AxisX(axisX => axisX.Title(title => title.Text("Speed of Wind")))
.AxisY(axisY => axisY.Title(title => title.Text("RainFall Quantities")))
.PrimaryHeader(header => header.Text("Weather - Wind/Precipitation Values"))
.Tooltip(tooltip => tooltip.AxisMarkers(axisMarkers => axisMarkers
    .Enabled(true)
    .Mode(Shield.Mvc.UI.Chart.TooltipAxisMarkerMode.XY)
    .Width(1)
    .ZIndex(3)))
.ChartLegend(chartLegend => chartLegend
    .Align(Shield.Mvc.UI.Chart.Align.Right)
    .VerticalAlign(Shield.Mvc.UI.Chart.VerticalAlign.Top)
    .RenderDirection(Shield.Mvc.UI.Chart.Direction.Vertical))
.DataSeries(dataSeries => dataSeries.Scatter()
    .CollectionAlias("January 2008")
 …..
)

 @(Html.ShieldChart()
.Name("chart")
.Export(false)
.PrimaryHeader(header => header.Text("Browsers Popularity amongst Users"))
.ChartLegend(legend=>legend.Enabled(true))
.SeriesSettings(setting=>setting.Pie(pie=>pie
    .EnablePointSelection(true)))
.Tooltip(tooltip=>tooltip.CustomPointText("{point.collectionAlias}: {point.y}"))        
.DataSeries(dataSeries => dataSeries.Pie()
    .CollectionAlias("Usage")
  …..
 )

На странице ничего не видно. Когда я удаляю любой из них, другие отображаются правильно. В чем может быть проблема? Нужно ли добавлять дополнительные элементы для создания контейнеров?


person Faris Abdi    schedule 22.08.2013    source источник


Ответы (1)


Никаких дополнительных элементов не требуется. В чем проблема, что есть конфликт между именами карт. Вероятно, вы не заметили, что оба ваших графика имеют одинаковое имя:

.Имя("диаграмма")

В основном div с одинаковыми идентификаторами будут отображаться на странице и просто препятствовать доступу к ним JS-скрипта, здесь проблема приводит к тому, что диаграммы не отображаются. Вы можете изменить имена, например

.Name("chartA") 

and 

.Name("chartB")

например, и проблема должна быть решена.

person Ed Jankowski    schedule 22.08.2013