我正在开发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);
}
});
非常感谢您的帮助
答案 0 :(得分:0)
看一下图表控件的RenderControl方法。下面是使用RenderControl将控件呈现给字符串的示例。 http://blogs.x2line.com/al/articles/859.aspx