我正在尝试使用 svg.dll 将 Telerik MVC 图表导出为 PDF(适用于 Telerik Kendo Charts),这是我的代码:
<% Html.Telerik().Chart<A1cGroupData>()
.Name("Chart")
.Title("A1c Groups - Last Visit")
.Legend(legend => legend
.Position(ChartLegendPosition.Left))
.Series(series => series.Pie(s => s.percent, s => s.A1CGroup).Border(1, "#d6dbe0", ChartDashType.Solid).Labels(labels => labels
.Template("<#= value #>%")
.Visible(true)))
.Tooltip(tooltip => tooltip.Visible(true).Template("<#= category #> - <#= value #>%"))
.DataBinding(dataBinding => dataBinding
.Ajax().Select("_A1cGroupChartData", "Report"))
.ClientEvents(events => events
.OnLoad("onLoad")
)
.Render();
%>
<script type="text/javascript">
function onLoad(e) {
var chart = $('#chart').data('tChart');
var svg = chart.svg();
$('#hfSVG').val(htmlEncode(svg));
}
function htmlEncode(value) {
return $('<div/>').text(value).html();
}
function PrintChart(fc) {
var fc = $('#hfSVG').val();
var url = '<%= Url.Content("~/Report/PrintChart1") %>';
$.post(url, { fc: fc },
function (content) {
if (content != null) { 5 }
}, "json");
}
</script>
<input type="hidden" id="hfSVG" name="hfSVG" />
<input type="button" onclick="PrintChart();" value="print chart" />
我收到此错误:无法获取属性“svg”的值:对象为空或未定义。提前致谢。