将图表控件渲染为html字符串以附加div

时间:2012-07-04 13:35:58

标签: c# asp.net charts rendering

我正在开发ASP.net/C#应用程序,我需要执行以下操作:

我的问题是如何呈现在C#和HTML字符串中动态创建的Chart控件(.net4附带的控件)?

我的意思是:

我正在C#中动态创建图表

  //CREATE THE CHART
    Chart Chart1 = new Chart();

  //BIND THE DATA TO THE CHART
    Chart1.Series.Add(new Series());
    Chart1.Series[0].Points.DataBindXY(xName, yVal);

  //SET THE CHART TYPE TO BE PIE
    Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie;
    Chart1.Series[0]["PieLabelStyle"] = "Outside";
    Chart1.Series[0]["PieStartAngle"] = "-90";


  //ADD A PLACE HOLDER CHART AREA TO THE CHART
  //SET THE CHART AREA TO BE 3D
    Chart1.ChartAreas.Add(new ChartArea());
    Chart1.ChartAreas[0].Area3DStyle.Enable3D = true;

  //ADD A PLACE HOLDER LEGEND TO THE CHART
  //DISABLE THE LEGEND
    Chart1.Legends.Add(new Legend());
    Chart1.Legends[0].Enabled = false;

然后我想将其渲染为HTML字符串并将其返回。

我想要这个的原因是因为我使用AJAX Jquery来调用将图表作为HTMl字符串并将其附加到'ChartDiv'div元素的函数,以便将其显示为图表

        $.ajax({
            type: "POST",
            url: "Service/RPCWebService.asmx/GetHTMLRenderForCountry",
            dataType: "json",
            async: true,
            data: "{'CountryCode':'" + countryCode + "'}",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                $("#ChartDiv").append(data.d);

            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

看一下图表控件的RenderControl方法。下面是使用RenderControl将控件呈现给字符串的示例。 http://blogs.x2line.com/al/articles/859.aspx