FineUI 官方论坛

标题: Iframe里的Grid不触发OnRowCommand事件 [打印本页]

作者: niceshow123    时间: 2013-6-3 15:46
标题: Iframe里的Grid不触发OnRowCommand事件
本帖最后由 niceshow123 于 2013-6-3 15:49 编辑

RT
页面a里有一个iframe,src=b.aspx
b页面里代码如下
  1. <ext:Grid ID="Grid1" runat="server" EnableCheckBoxSelect="False" EnableRowNumber="True"
  2.             Title="游客满意度表单查询" AllowPaging="True" DataKeyNames="rmid" AutoHeight="True"
  3.             OnPageIndexChange="Grid1_PageIndexChange" OnRowCommand="Grid1_RowCommand" OnRowDataBound="Grid1_RowDataBound">
  4.             <Columns>
  5. </ext:TemplateField>
  6.                 <ext:LinkButtonField Width="100px" HeaderText="删除" CommandName="doDelete" Text="删除该表单" ConfirmTitle="警告" ConfirmText="你将删除一条记录,确定要这么做吗?" ConfirmTarget="Parent"/>
  7.             </Columns>
复制代码

复制代码
后台代码:
  1. protected void Grid1_RowCommand(object sender, FineUI.GridCommandEventArgs e)
  2.         {
  3.             if (e.CommandName == "doDelete" )
  4.             {
  5.                 TBNO.Text = String.Format("你点击了第 {0} 行,第 {1} 列,行命令是 {2}", e.RowIndex + 1, e.ColumnIndex + 1, e.CommandName);
  6.             }
  7.         }
复制代码

断点调试,发现
不触发OnRowCommand事件
,求指教


作者: sanshi    时间: 2013-6-3 16:23
这个和 iframe 没关系吧,你把这个示例在单独的页面测试下
作者: niceshow123    时间: 2013-6-3 17:16
单独页面里可以正确执行。我已测试。
另外,我在下载的示例项目中,添加一个新页,里面放置一个iframe,源地址指向示例中的grid/grid_rowdatabound.aspx
还是会有这个问题
作者: sanshi    时间: 2013-6-3 17:43
为了更快的解决问题,请按照如下步骤创建重现问题的示例:
1. 到 https://fineui.codeplex.com/releases 下载FineUI空项目 EmptyProjectNet20_FineUI;
2. 基于空项目创建重现问题的示例,并打包上传。

注:涉及数据读取操作时,请在内存中模拟实现,不要连接数据库。
   请提供可以直接用VS打开运行的完整示例,方便别人调试。
作者: niceshow123    时间: 2013-6-4 08:55
多谢了,感谢boss的热心。原因我已找到:
确实和ifram无关,但是因为一些设定,让iframe变成了元凶。
  1. <ext:LinkButtonField Width="100px" HeaderText="删除" CommandName="doDelete" Text="删除该表单" ConfirmTitle="警告" ConfirmText="你将删除一条记录,确定要这么做吗?" ConfirmTarget="Parent"/>
复制代码
上面的ConfirmTarget="arent"是关键,ConfirmTarget="arent",在iframe里不知为何弹不出confirm,所以没有确定,当然也不会触发OnRowCommand事件。
暂时没理解透,不过将ConfirmTarget="arent"改为ConfirmTarget="Self",问题就不会出现了。
作者: niceshow123    时间: 2013-6-4 09:07
想通了,iframe的页面没有放置pagemanager的原因




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