是否有可能从不同页面中的代码访问java脚本数据?

Is it possible to access java script data from the code behind in a different page?

本文关键字:访问 代码 java 脚本 数据 有可能 是否      更新时间:2023-09-26

我试图导出一些数据,我在一些骨干集合到csv文件。

到目前为止,我正在使用java脚本打开一个新的导出页面,如

                var href = [];    
                href.push('ExportAnalysis.aspx?');
                href.push('ParamSet=' + this.document.analysisParameterSetView.selectedParamSet + '&');
                href.push('Start=' + start
Date + '&');
            href.push('Finish=' + endDate + '&');
            frames["exportIFrame"].location.href = href.join('');

然后在exportaanalysis后面的代码中。Aspx,我从查询字符串获取数据的变量,建立CSV文件,并返回这样的文件。

  // Get the export parmaters from the query string
        var paramSet = Request["ParamSet"];
        var startUnix = int.Parse(Request["Start"]);
        var finishUnix = int.Parse(Request["Finish"]);
        var start = DateTime.Parse("1970-01-01").AddSeconds(startUnix);
        var finish = DateTime.Parse("1970-01-01").AddSeconds(finishUnix);
        // GET DATA using Parameters
        var filename = "analysisExport";
        var content = "1,2";
        Response.Clear();
        Response.ContentType = "application/x-unknown";
        Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
        Response.Write(content);
        Response.End();
    }

这工作正常,但它似乎有点低效,因为我必须获得我需要的数据两次。一次用于主页面,另一次用于导出页面。

这是一个很长的镜头,但是有可能从导出页面后面的代码从第一页获得数据吗?如果都是客户端,我可以使用window.opener.document来获取打开器页面,我可以在asp.net

中做类似的事情吗?

或者我完全偏离了轨道,有一个更好的方法来实现这一点。

只有当协议和域在iframe和主窗口之间匹配时才有效。所有代码均为javascript

Iframe到父元素:

var pDoc = window.parent.document;
var pWin = window.parent.window;

文件到iframe:

var cDoc = document.getElementById("exportIFrame").contentDocument;
var cWin = document.getElementById("exportIFrame").contentWindow;

在父节点上调用脚本:

pWin.yourFunction("parameter");

在iframe中调用脚本:

cWin.yourFunction("parameter");