FineUI 官方论坛

标题: 【已解决】如何在服务端代码中关闭自身tab? [打印本页]

作者: xtb_sp    时间: 2014-9-13 00:37
标题: 【已解决】如何在服务端代码中关闭自身tab?
点击一个button后执行保存表单的数据,然后再用服务端方法关闭自身tab?如何用服务端方法关闭tab?我现在执行会报js错误。

作者: xtb_sp    时间: 2014-9-13 00:38
demo里面的是用js关闭自身tab,那个是可以,但是和我的需求不一样
作者: xtb_sp    时间: 2014-9-13 00:59
我想这个本事是不是应该就关闭不了的。?只能隐藏?
作者: sanshi    时间: 2014-9-13 14:41
把你出问题的代码给出来
作者: xtb_sp    时间: 2014-9-13 18:18
本帖最后由 xtb_sp 于 2014-9-13 18:21 编辑
sanshi 发表于 2014-9-13 14:41
把你出问题的代码给出来

就是官方demo中的示例,只是把客服端关闭事件改成服务器端关闭事件
OnClientClick="closeActiveTab();"改成
OnClick="Button2_Click",然后在后台cs页面中输出执行closeActiveTab函数

addtab.aspx

  1. <!DOCTYPE html>
  2. <html>
  3. <head runat="server">
  4.     <title></title>
  5.     <link href="../res/css/main.css" rel="stylesheet" type="text/css" />
  6. </head>
  7. <body>
  8.     <form id="form1" runat="server">
  9.     <f:PageManager ID="PageManager1" runat="server" />
  10.     <f:Button ID="Button1" runat="server" EnablePostBack="false" OnClientClick="openHelloFineUI();"
  11.         Text="向父页面添加选项卡">
  12.     </f:Button>
  13.     <br />
  14.     <f:Button ID="Button2" runat="server" OnClick="Button2_Click"
  15.         Text="关闭当前选项卡">
  16.     </f:Button>
  17.     </form>
  18.         <script type="text/javascript">
  19.         
  20.                 var basePath = '<%= ResolveUrl("~/") %>';
  21.                
  22.         function openHelloFineUI() {
  23.             parent.addExampleTab.apply(null, ['hello_fineui_tab', basePath + 'basic/hello.aspx', '你好 FineUI', basePath + 'res/images/filetype/vs_aspx.png', true]);
  24.         }

  25.         function closeActiveTab() {
  26.             parent.removeActiveTab();
  27.         }
  28.     </script>
  29. </body>
  30. </html>
复制代码


addtab.aspx.cs
  1.         protected void Button2_Click(object sender, EventArgs e)
  2.         {
  3.             PageContext.RegisterStartupScript("closeActiveTab();");
  4.         }
复制代码



default.aspx页面中引入的default.js代码

  1.     // 移除选中标签页
  2.     window.removeActiveTab = function () {
  3.         var activeTab = mainTabStrip.getActiveTab();
  4.         mainTabStrip.removeTab(activeTab.id);
  5.     };
复制代码


作者: sanshi    时间: 2014-9-13 19:58
xtb_sp 发表于 2014-9-13 18:18
就是官方demo中的示例,只是把客服端关闭事件改成服务器端关闭事件
OnClientClick="closeActi ...

你的代码没发现问题,如果还不行,请发完整空项目工程
作者: xtb_sp    时间: 2014-9-13 23:11
sanshi 发表于 2014-9-13 19:58
你的代码没发现问题,如果还不行,请发完整空项目工程

空项目示例可以重现问题,请三石先生看看。
附件我只能上传1M的文件,所以我传到了百度网盘,http://pan.baidu.com/s/1pJK7ill
VS2013 Update3 + IE11
.net 4.0

作者: sanshi    时间: 2014-9-14 11:13
xtb_sp 发表于 2014-9-13 23:11
空项目示例可以重现问题,请三石先生看看。
附件我只能上传1M的文件,所以我传到了百度网盘,http://pan.b ...


我测试了你的例子,能关闭,没有错误

[attach]6479[/attach]

作者: xtb_sp    时间: 2014-9-14 12:58
sanshi 发表于 2014-9-14 11:13
我测试了你的例子,能关闭,没有错误

谷歌浏览器默认好像不会js错误,请你用一下IE11浏览器测试一下。
作者: xtb_sp    时间: 2014-9-15 20:25
sanshi 发表于 2014-9-14 11:13
我测试了你的例子,能关闭,没有错误

请问三石现在有用ie11测试吗?
作者: sanshi    时间: 2014-9-16 08:58
xtb_sp 发表于 2014-9-15 20:25
请问三石现在有用ie11测试吗?

IE11下的确有发现问题,我先记下
作者: xtb_sp    时间: 2014-9-22 09:56
本帖最后由 xtb_sp 于 2014-9-22 09:58 编辑
sanshi 发表于 2014-9-16 08:58
IE11下的确有发现问题,我先记下

你好,我看到你发布了4.1.4的版本,并且在更新log里面有说修复这个这个问题,但是我发现用IE11打开操作此功能还是有错误。不知道为何。

官网示例:
杂项 -> 向父页面添加选项卡 -> 点击 关闭当前选项(服务器端注册脚本)

更新log
+修正通过服务器端脚本关闭当前标签页可能出现的JS错误。            -在IE11出现错误[无法获取未定义或 null 引用的属性 callback]。        
    -更新示例:杂项->向父页面添加选项卡。







作者: sanshi    时间: 2014-9-22 10:01
xtb_sp 发表于 2014-9-22 09:56
你好,我看到你发布了4.1.4的版本,并且在更新log里面有说修复这个这个问题,但是我发现用IE11打开操作此功 ...

Sorry,这个BUG的代码忘记提交了。
我又重新生成了 extjs 文件夹,需要使用 v4.1.4  FineUI 的DLL库,和 v4.1.4.1 的 extjs 文件夹即可。官网示例已更新,可以再试下

作者: xtb_sp    时间: 2014-9-22 12:32
sanshi 发表于 2014-9-22 10:01
Sorry,这个BUG的代码忘记提交了。
我又重新生成了 extjs 文件夹,需要使用 v4.1.4  FineUI 的DLL库,和 v ...

感谢,已经好了。




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