Javascript 跨不同视图(页面)维护PptxGenJS对象

Javascript 跨不同视图(页面)维护PptxGenJS对象,javascript,jquery,asp.net-mvc,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,我在我的项目中使用了PptxGenJS.js,该项目由各种仪表板(页面/视图)上的图形组成 我有一个特定的要求,即一旦用户将图形(SVG image)作为幻灯片添加到PptxGenJS对象,它应该在整个应用程序中保持,直到用户单击导出ppt 请仔细阅读下面的解释以便更好地理解 我初始化了layout.cshtml中的PptxGenJS对象,这对于所有视图都是通用的 var thispptx = new PptxGenJS(); 现在,在每个视图中都有多个图形,当用户单击添加到PPT按钮时,如下

我在我的项目中使用了
PptxGenJS.js
,该项目由各种仪表板(页面/视图)上的图形组成

我有一个特定的要求,即一旦用户将图形(
SVG image
)作为幻灯片添加到PptxGenJS对象,它应该在整个应用程序中保持,直到用户单击导出ppt

请仔细阅读下面的解释以便更好地理解

我初始化了
layout.cshtml
中的
PptxGenJS
对象,这对于所有视图都是通用的

var thispptx = new PptxGenJS();
现在,在每个视图中都有多个图形,当用户单击
添加到PPT
按钮时,如下所示

幻灯片将添加到
PPT

SVG
文件添加到先前创建的
PptxGenJS
对象中

i、 e

现在,在向
PptxGenJS
对象添加多张幻灯片后,用户将单击
导出到PPT
按钮,该按钮将导出为
PowerPoint
演示文稿

所以我的问题是,所有这些在当前页面/视图中都可以正常工作

但我的要求是在所有视图中维护相同的PptxGenJS对象,这在当前是不可能的,因为我已经在布局中初始化了PptxGenJS对象,该布局为每个页面/视图加载(因此为每个视图/页面创建了一个新的PptxGenJS对象)


有没有更好的方法来处理我的这种情况?

无需在布局中初始化对象,您可以在查看页面中执行此操作
    $('#Chart1PPTId').click(function () 
{
  var pptslide1 = CreateSlide("#barChartz1", "bar",thispptx,CustomlabeltextForPPT);
});
function CreateSlide(divId, ChartType,pptx,SearchCriteria) {
        var slide = pptx.addNewSlide()
        var svg;
        if (ChartType != "guage") {
            svg = EntryPoint.getChartsvg(divId);
        }
        else {
            svg = EntryPoint.getGuageChartsvg(divId);
        }
        var DOMURL = window.URL || window.webkitURL || window;
        var svgBlob = new Blob([svg], { type: 'image/svg+xml;charset=utf-8' });
        var url = DOMURL.createObjectURL(svgBlob);
        slide.addImage({ path: url, x: 0.5, y: 0.5, w: 9.0, h: 4.5});
        slide.addText('Search Criteria : ' + SearchCriteria, { x: 0.1, y: 5.2, font_size: 12, color: '363636' });
        return slide
    }