Asp.net mvc 使用SVG将MVC Telerik图表导出为PDF

Asp.net mvc 使用SVG将MVC Telerik图表导出为PDF,asp.net-mvc,svg,telerik-mvc,Asp.net Mvc,Svg,Telerik Mvc,我正在尝试使用svg.dll将Telerik MVC图表导出为PDF(与Telerik剑道图表配合良好),以下是我的代码: <% Html.Telerik().Chart<A1cGroupData>() .Name("Chart") .Title("A1c Groups - Last Visit") .Legend(legend => legend

我正在尝试使用svg.dll将Telerik MVC图表导出为PDF(与Telerik剑道图表配合良好),以下是我的代码:

      <% 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" />
图例
.位置(ChartLegendPosition.左))
.Series(Series=>Series.Pie(s=>s.percent,s=>s.A1CGroup).边框(1,“#d6dbe0”,ChartDashType.Solid).标签(标签=>Labels
.模板(“%”)
.可见(真实)))
.Tooltip(Tooltip=>Tooltip.Visible(true).Template(“-%”)
.DataBinding(DataBinding=>DataBinding
.Ajax().Select(“\u A1cGroupChartData”,“Report”))
.ClientEvents(事件=>事件
.OnLoad(“OnLoad”)
)
.Render();
%>
函数onLoad(e){
var图表=$(“#图表”).数据('tChart');
var svg=chart.svg();
$('#hfSVG').val(htmlEncode(svg));
}
函数htmlEncode(值){
返回$('').text(value.html();
}
功能打印图(fc){
var fc=$('#hfSVG').val();
var url='';
$.post(url,{fc:fc},
功能(内容){
如果(content!=null){5}
}“json”);
}
我收到以下错误:无法获取属性“svg”的值:对象为null或未定义。 提前谢谢。

试试看

 var chart = $('#Chart').data('tChart');
图表的
名称
为“图表”