3

我正在尝试使用 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”的值:对象为空或未定义。提前致谢。

4

1 回答 1

1

尝试

 var chart = $('#Chart').data('tChart');

您的Name图表是“图表”。

于 2012-04-07T07:29:10.603 回答