【问题标题】:Render Chart control into html string to append div将图表控件渲染为 html 字符串以附加 div
【发布时间】:2012-07-04 13:35:58
【问题描述】:

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

我的问题是如何将 C# 中动态创建的 Chart 控件(.net4 附带的控件)渲染为 HTML 字符串?

我的意思是:

我正在 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);
            }
        });

非常感谢您的帮助

【问题讨论】:

    标签: c# asp.net charts rendering


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 2019-08-08
      • 2016-10-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多