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
}