FineUI 官方论坛

标题: 关于传值,后台向iframe框架中的页面传值 [打印本页]

作者: 守护、天使    时间: 2013-9-17 20:45
标题: 关于传值,后台向iframe框架中的页面传值
本帖最后由 守护、天使 于 2013-9-17 20:52 编辑

先说一下我的问题。我在这里已经提过很多问题了,但是都没有得到很好的解答。
我是被公司压着做这个项目的,因为实习生无法选择,更何况的是学校强制实习,“不实习就不给毕业证,学位证”一句话压死人啊。
好了,进入正题。
问题的主题:主页面的后台向iframe中的页面传值
相关说明:

[attach]3196[/attach]
这个是我做的,页面的中心的一张地图,地图的原理就是接入的百度地图的api,地图的下方是一个表格Grid ,我用了行单击回发事件,在后台的事件代码中通过获取当前表格的主键值,查询数据库,以获得相应的经纬度值。然后把值传递给地图,最后利用refreshIframe()局部刷新地图,使地图显示中心点(中心点就是刚才传递的经纬度值)。
目前遇到的问题就是传值这一步。

这页面的相关代码:
  1. <ext:ContentPanel ID="ContentPanel2" runat="server" EnableBackgroundColor="true"
  2. ShowBorder="false" ShowHeader="false" Title="ContentPanel">
  3. <iframe id="iframe1" name="iframe1" enableviewstate="true" scrolling="auto" frameborder="0" src="map.aspx"></iframe>  
  4. </ext:ContentPanel>
复制代码
后台点击事件的代码:

  1. protected void Grid1_RowClick(object sender, ExtAspNet.GridRowClickEventArgs e)
  2. {
  3.      //获取主键,查询数据库,得到经纬度值(可以解决)
  4.      //传值给地图(目前的问题)
  5.      ContentPanel2.RefreshIFrame();
  6. }
复制代码
地图的js代码:
  1. var map = new BMap.Map("allmap");
  2. map.centerAndZoom(new BMap.Point(108.961605,34.238296 ), 14);  //只要point()中的值为变量就行
  3. //map.centerAndZoom(new BMap.Point(108.961605,34.238296), 14);
  4. map.enableScrollWheelZoom();
  5. var marker1 = new BMap.Marker(new BMap.Point(108.961605,34.238296 ));
  6. //var marker1 = new BMap.Marker(new BMap.Point(108.961605,34.238296));//只要point()中的值为变量就行
  7. map.addOverlay(marker1);

  8. var infoWindow1 = new BMap.InfoWindow("Common Label");
  9. marker1.addEventListener("click", function(){this.openInfoWindow(infoWindow1);});

  10. var pt = new BMap.Point(108.861605,34.238296);
  11. var myIcon = new BMap.Icon("images/BS.png", new BMap.Size(37,70));
  12. var marker2 = new BMap.Marker(pt,{icon:myIcon}); // 创建标注
  13. map.addOverlay(marker2);

  14. var lng2 = marker2.getPosition().lng;
  15. var lat2 = marker2.getPosition().lat;
  16. var infoWindow2 = new BMap.InfoWindow("<p style='font-size:14px;'>Base Station 00012</p>"+"<p style='font-size:14px;'>"+lng2+","+lat2+"</p>"+"<p style='font-size:14px;'><a href='http://www.baonova.com' target=blank >詳細情報</a></p>");

  17. marker2.addEventListener("click", function(){this.openInfoWindow(infoWindow2);});

  18. var pt2 = new BMap.Point(108.861605,34.218296);
  19. var myIcon2 = new BMap.Icon("images/BS.png", new BMap.Size(37,70));
  20. var marker3 = new BMap.Marker(pt2,{icon:myIcon2}); // 创建标注
  21. map.addOverlay(marker3);

  22. var lng3 = marker3.getPosition().lng;
  23. var lat3 = marker3.getPosition().lat;
  24. var infoWindow3 = new BMap.InfoWindow("<p style='font-size:14px;'>Base Station 00025</p>"+"<p style='font-size:14px;'>"+lng3+","+lat3+"</p>"+"<p style='font-size:14px;'><a href='http://www.baosight.com' target=blank >詳細情報</a></p>");
  25. marker3.addEventListener("click", function(){this.openInfoWindow(infoWindow3);});
复制代码
本人是在做过N中方法之后再来提问的。希望大家看到我的决心,积极踊跃的帮助我解决问题。谢谢。
由于用的控件是这边的,或者说是相似的。我相信,大家比我应该要懂得多。




作者: 奋斗~    时间: 2013-9-18 07:54
不明白说的啥意思...请做个测试工程...
作者: wanghenan    时间: 2013-9-18 09:08
实在不行就用AJAX呗




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4