本帖最后由 守护、天使 于 2013-9-17 20:52 编辑
先说一下我的问题。我在这里已经提过很多问题了,但是都没有得到很好的解答。
我是被公司压着做这个项目的,因为实习生无法选择,更何况的是学校强制实习,“不实习就不给毕业证,学位证”一句话压死人啊。
好了,进入正题。
问题的主题:主页面的后台向iframe中的页面传值
相关说明:
这个是我做的,页面的中心的一张地图,地图的原理就是接入的百度地图的api,地图的下方是一个表格Grid ,我用了行单击回发事件,在后台的事件代码中通过获取当前表格的主键值,查询数据库,以获得相应的经纬度值。然后把值传递给地图,最后利用refreshIframe()局部刷新地图,使地图显示中心点(中心点就是刚才传递的经纬度值)。
目前遇到的问题就是传值这一步。
这页面的相关代码:- <ext:ContentPanel ID="ContentPanel2" runat="server" EnableBackgroundColor="true"
- ShowBorder="false" ShowHeader="false" Title="ContentPanel">
- <iframe id="iframe1" name="iframe1" enableviewstate="true" scrolling="auto" frameborder="0" src="map.aspx"></iframe>
- </ext:ContentPanel>
复制代码 后台点击事件的代码:
- protected void Grid1_RowClick(object sender, ExtAspNet.GridRowClickEventArgs e)
- {
- //获取主键,查询数据库,得到经纬度值(可以解决)
- //传值给地图(目前的问题)
- ContentPanel2.RefreshIFrame();
- }
复制代码 地图的js代码:- var map = new BMap.Map("allmap");
- map.centerAndZoom(new BMap.Point(108.961605,34.238296 ), 14); //只要point()中的值为变量就行
- //map.centerAndZoom(new BMap.Point(108.961605,34.238296), 14);
- map.enableScrollWheelZoom();
- var marker1 = new BMap.Marker(new BMap.Point(108.961605,34.238296 ));
- //var marker1 = new BMap.Marker(new BMap.Point(108.961605,34.238296));//只要point()中的值为变量就行
- map.addOverlay(marker1);
- var infoWindow1 = new BMap.InfoWindow("Common Label");
- marker1.addEventListener("click", function(){this.openInfoWindow(infoWindow1);});
- var pt = new BMap.Point(108.861605,34.238296);
- var myIcon = new BMap.Icon("images/BS.png", new BMap.Size(37,70));
- var marker2 = new BMap.Marker(pt,{icon:myIcon}); // 创建标注
- map.addOverlay(marker2);
- var lng2 = marker2.getPosition().lng;
- var lat2 = marker2.getPosition().lat;
- 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>");
- marker2.addEventListener("click", function(){this.openInfoWindow(infoWindow2);});
- var pt2 = new BMap.Point(108.861605,34.218296);
- var myIcon2 = new BMap.Icon("images/BS.png", new BMap.Size(37,70));
- var marker3 = new BMap.Marker(pt2,{icon:myIcon2}); // 创建标注
- map.addOverlay(marker3);
- var lng3 = marker3.getPosition().lng;
- var lat3 = marker3.getPosition().lat;
- 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>");
- marker3.addEventListener("click", function(){this.openInfoWindow(infoWindow3);});
复制代码 本人是在做过N中方法之后再来提问的。希望大家看到我的决心,积极踊跃的帮助我解决问题。谢谢。
由于用的控件是这边的,或者说是相似的。我相信,大家比我应该要懂得多。
|