将参数传递给iframe而不使用查询字符串 - ASP.NET

时间:2013-02-04 09:45:35

标签: javascript asp.net iframe query-string

在我的ASP.NET应用程序中,有一个main.aspx,其中包含繁重的网格数据。 为了在main.aspx中显示Google地图,我创建了一个map.aspx页面,该页面在main.aspx中作为框架参考提供。

现在,我想将main.aspx中的坐标和描述传递给map.aspx。 查询字符串的长度超过5000个字符,因此在javascipt中设置frame的“src”会因为这个长度而失败。

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

1 个答案:

答案 0 :(得分:0)

好吧,我可以看到两种选择:

  1. 将您要传递的值存储到Session变量中的iframe页面,然后在{em> map.aspx 的Page_Load事件中检索它。

  2. 在Javascript中使用全局变量:

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

        <script type="text/javascript">
          var globalVar = 'Value 1';
          var otherGlobalVar = 'Value 2';
        </script>
    

    然后你可以在map.aspx中阅读它们:

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

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