Javascript 在没有查询字符串的情况下向iframe传递参数-ASP.NET

Javascript 在没有查询字符串的情况下向iframe传递参数-ASP.NET,javascript,asp.net,iframe,query-string,Javascript,Asp.net,Iframe,Query String,在我的ASP.NET应用程序中,有一个main.aspx,其中包含大量的网格数据。 为了在main.aspx中显示Google地图,我制作了一个map.aspx页面,在main.aspx中作为框架引用 现在,我想把坐标和一些描述从main.aspx传递到map.aspx。 查询字符串的长度超过5000个字符,所以在javascipt上设置帧的“src”会因为这个长度而失败 如何在不使用查询字符串的情况下将数据从main.aspx发送到map.aspx?我可以看到两种选择: 将要传递给iframe

在我的ASP.NET应用程序中,有一个main.aspx,其中包含大量的网格数据。 为了在main.aspx中显示Google地图,我制作了一个map.aspx页面,在main.aspx中作为框架引用

现在,我想把坐标和一些描述从main.aspx传递到map.aspx。 查询字符串的长度超过5000个字符,所以在javascipt上设置帧的“src”会因为这个长度而失败


如何在不使用查询字符串的情况下将数据从main.aspx发送到map.aspx?

我可以看到两种选择:

  • 将要传递给iframe页面的值存储在
    会话
    变量中,然后在map.aspx的
    页面加载
    事件中检索该值

  • 在Javascript中使用全局变量:

  • 在main.aspx中定义变量。如果需要在服务器端定义这些变量,可以使用
    ScriptManager.RegisterStartupScript
    设置这些变量:

        <script type="text/javascript">
          var globalVar = 'Value 1';
          var otherGlobalVar = 'Value 2';
        </script>
    
    
    变量globalVar='值1';
    var otherGlobalVar='值2';
    
    然后您可以在map.aspx中阅读它们:

        <script type="text/javascript">
           var parameter1 = parent.globalVar;
           var parameter2 = parent.otherGlobalVar;
        </script>
    
    
    var参数1=parent.globalVar;
    var参数2=parent.otherGlobalVar;
    

    我已经在IE 7+、Firefox、Safari、Opera和Google Chrome中测试了第二个解决方案。

    为什么不将地图置于用户控制中?