0

我想通过代码在我的 ul 标签中动态添加图表控件。我怎样才能做到这一点?这是我对anythingslider javascript 的声明

<script type="text/javascript">
     var slider2 = ['Machines', 'Trend','test','test2','test3'];
     function formatText(index, panel) {
         return slider2[index - 1];
     }

     $(function () {
         $('#slider2').anythingSlider({
             width: 800,       // if resizeContent is false, this is the default width if panel size is not defined
             height: 400,       // if resizeContent is false, this is the default height if panel size is not defined
             buildArrows: true,
             resizeContents: false,     // If true, solitary images/objects in the panel will expand to fit the viewport
             autoPlay: true,     // This turns off the entire slideshow FUNCTIONALY, not just if it starts running or not
             navigationFormatter: formatText, // Format navigation labels with text
             forwardText: "&raquo;",
             backText: "&laquo;"
         })
     });
</script>

编辑:这是带有新添加代码的页面的源代码:

<ul id="MainContent_slider2">
<img id="MainContent_PlantMachineChart" src="/ChartImg.axd?i=chart_93717cef16e84387b35d83bdd04da217_0.png&amp;g=898a170672b0476ca6f6d49173c231b1" alt="" usemap="#MainContent_PlantMachineChartImageMap"    style="height:400px;width:868px;border-width:0px;" />

<map name="MainContent_PlantMachineChartImageMap"  id="MainContent_PlantMachineChartImageMap">
 </map>

 <li><img id="MainContent_ctl01" src="/ChartImg.axd?    i=chart_93717cef16e84387b35d83bdd04da217_1.png&amp;g=23020f9898ab40898782de3234fae6e4"    alt="" style="height:400px;width:868px;border-width:0px;" /></li'><li'><img    id="MainContent_ctl03" src="/ChartImg.axd?   i=chart_93717cef16e84387b35d83bdd04da217_2.png&amp;g=aa749f6279484859a7892f1f117fbd1c"    alt="" style="height:400px;width:868px;border-width:0px;" /></li></ul>

它列出了第一个图表(我在这里省略)的所有数据点,这些数据点不是动态添加的。

4

2 回答 2

3

我真的不知道你为什么要这样做,但你可以制作 ulrunat="server"并向其中添加控件,如下所示:

HTML

<ul runat="server" ID="ul_Charts"></ul>

服务器端

ul_Charts.Controls.Add(yourControl);

编辑:您需要以编程方式创建图表并将图表控件插入到您的元素中,如下所示:

// Create a pie chart
Chart chart = new Chart();

// Choose chart type and add series info
Series series = new Series("Default");
series.ChartType = SeriesChartType.Pie;
chart.Series.Add(series);

// Create chart legend
Legend legend = new Legend();
chart.Legends.Add(legend);

// Define the chart area
ChartArea chartArea = new ChartArea();
ChartArea3DStyle areaStyle = new ChartArea3DStyle(chartArea);
areaStyle.Rotation = 0;
chart.ChartAreas.Add(chartArea);

Axis yAxis = new Axis(chartArea, AxisName.Y);
Axis xAxis = new Axis(chartArea, AxisName.X);

// Bind the data to the chart
chart.Series["Default"].Points.DataBindXY(xValues, yValues);

// Add chart
HtmlGenericControl li = new HtmlGenericControl("li");
li.Controls.Add(chart);
ul_Charts.Controls.Add(li);

这个例子是在asp.net 论坛上找到的,并做了一些调整以适应您的场景。还有其他选项,但这应该在列表中给出您需要做什么的想法。

于 2012-06-28T17:50:53.107 回答
0

您可以在 aspx 中使用占位符,然后在运行时将控件加载到其中。

于 2012-06-28T17:50:43.057 回答