FineUI 官方论坛

标题: 如何在Grid表格的行单击事件的后台代码里调用前端JS代码 [打印本页]

作者: 守护、天使    时间: 2013-9-22 22:02
标题: 如何在Grid表格的行单击事件的后台代码里调用前端JS代码
本帖最后由 守护、天使 于 2013-9-22 22:06 编辑

有两个问题。
主要的是:如何在Grid表格的行单击事件的后台代码里调用前端JS代码
次要的是:如何在content Panel中如何加载百度地图

[attach]3214[/attach]
此图下方是一个表格,表格具有行单击事件,在行单击事件里我需要利用表格主键查询数据库获得经纬度,然后传值给地图。按照我现在的想法是调用前端JS函数.
关于百度地图api
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  6. <style type="text/css">
  7. body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
  8. </style>
  9. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
  10. <title>地图平移</title>
  11. </head>
  12. <body>
  13. <div id="allmap"></div>
  14. </body>
  15. </html>
  16. <script type="text/javascript">

  17. // 百度地图API功能
  18. var map = new BMap.Map("allmap"); // 创建Map实例
  19. map.centerAndZoom(new BMap.Point(116.4035,39.915),8); //初始化时,即可设置中心点和地图缩放级别。

  20. setTimeout(function(){
  21. map.panTo(new BMap.Point(113.262232,23.154345)); //两秒后移动到广州
  22. }, 1500);
  23. </script>
复制代码
我的想法就是通过后台事件代码中获得经纬度,传值,调用前台JS函数(类似两秒移动到广州),最终目的是将地图移动到指定位置。
事件代码中该如何操作?

2.次要问题:如何在content Panel中如何加载百度地图
目前使用的是iframe:代码如下:
  1. <ext:Region ID="mainRegion" ShowHeader="false" Layout="Fit" Margins="0 0 0 0" Position="Center" runat="server">
  2. <Toolbars>
  3. <ext:Toolbar ID="Toolbar1" Position="Top" runat="server" Height="25px" CssClass="toolbar">
  4. <Items>
  5. <ext:Label ID="ToolLabel" Text="动态管理>基站状况-地图表示" runat="server" CssClass="label">
  6. </ext:Label>
  7. </Items>
  8. </ext:Toolbar>
  9. </Toolbars>
  10. <Items>
  11. <ext:ContentPanel ID="ContentPanel2" runat="server" EnableBackgroundColor="true"
  12. ShowBorder="false" ShowHeader="false" Title="ContentPanel" BoxConfigPosition="Center">
  13. <iframe id="iframe1" name="iframe1" enableviewstate="true" scrolling="auto" frameborder="0" src="map.aspx"></iframe>
  14. <%--<div style="height:700px; width:1250px; padding:0; margin:0;" id="allmap"></div> --%>
  15. </ext:ContentPanel>
  16. </Items>
  17. </ext:Region>
复制代码
这段代码我们可以看到,用的是iframe。由于用iframe传值比较麻烦。但是直接用div的话,不写高度和宽度,content panel中无法显示地图。写高度和宽度又不能写定值,为什么呢?框架的缩放。
现在就想类似在百度API里的那般,让地图充满content panel,但是又不用iframe,那么该如何处理。
希望大神给予解答,实在是比较急。谢谢






作者: sanshi    时间: 2013-9-23 17:17
主要的是:如何在Grid表格的行单击事件的后台代码里调用前端JS代码
===
在C#代码中直接调用PageContext.RegisterStartupScript 即可执行前端JS代码

次要的是:如何在content Panel中如何加载百度地图
===
最好放在IFrame中,方便隔离代码,减少问题
作者: 守护、天使    时间: 2013-9-23 18:12
sanshi 发表于 2013-9-23 17:17
主要的是:如何在Grid表格的行单击事件的后台代码里调用前端JS代码
===
在C#代码中直接调用PageContext.Reg ...

关于次要的只能如此了。
那么主要的还是很有问题的。
首先怎么调用iframe中的JS函数呢?
其次如何传值(经纬度)给那个被调用函数?

作者: sanshi    时间: 2013-9-24 09:45
守护、天使 发表于 2013-9-23 18:12
关于次要的只能如此了。
那么主要的还是很有问题的。
首先怎么调用iframe中的JS函数呢?

这个就不属于FineUI的范畴了。

调用IFrame中的函数很简单,只要两个页面属于同一个域名下,先找到IFrame的window对象,网上搜索一下
作者: 守护、天使    时间: 2013-9-25 22:05
本帖最后由 守护、天使 于 2013-9-25 22:09 编辑
sanshi 发表于 2013-9-24 09:45
这个就属于FineUI的范畴了。

调用IFrame中的函数很简单,只要两个页面属于同一个域名下,先找到IFrame的 ...


这个问题我解决了哦。。。。。
现在有一个新的想法。。。
就是表格绑定了数据源,但是数据库里的数据会改变,能不能做到网页不刷新而让表格的实时更新呢?
简而言之就是类似表格部分局部刷新,并将数据库里的数据在页面实时显示出来呢?(完全没思路啊)

作者: 守护、天使    时间: 2013-9-26 19:55
守护、天使 发表于 2013-9-25 22:05
这个问题我解决了哦。。。。。
现在有一个新的想法。。。
就是表格绑定了数据源,但是数据库里的数据会改 ...

已解决,谢谢
作者: 冻结    时间: 2013-9-27 19:25
sanshi 发表于 2013-9-24 09:45
这个就不属于FineUI的范畴了。

调用IFrame中的函数很简单,只要两个页面属于同一个域名下,先找到IFrame ...

你好,我也遇到类似的问题。  我再后台写的
    PageContext.RegisterStartupScript("return resetEditor()");
但是前台函数没有执行?请问,这是怎么回事?




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