FineUI 官方论坛

标题: 【已解决】升级专业版后,添加或删除页面标签页出现问题 [打印本页]

作者: edgechester    时间: 2017-3-10 09:26
标题: 【已解决】升级专业版后,添加或删除页面标签页出现问题
1.之前用开源版,能够实现在子页面关闭指定的母页面标签(根据标签页ID)。
  在母页面前端添加脚本:
window.removeTab = function (TabID) {
                  mainTabStrip.removeTab(TabID);
              };

在公共类中设置关闭标签页命令:
public string CloseTab(string tabID)
        {
            return String.Format("parent.removeTab.apply(null,['{0}']);", tabID);
        }
在子页面实例化后能够实现关闭指定标签。但升级到专业版后,关闭标签页的方法全部失效。

PS:标签页的ID是根据母页面树节点得到的,每个节点有个NodeID。

2.母页面初始化后会打开一个固定的标签页,相当于Fineui在线实例中的首页标签。树节点中有个节点ID与这首页标签一致,点击后跳转到首页,在开源版能够实现,但升级到专业版后失效,点击树节点会打开一个新的标签页。

请问这是什么原因?怎么解决?



作者: edgechester    时间: 2017-3-22 13:40

作者: sanshi    时间: 2017-3-22 14:19
这个问题我在QQ上给你回了, removeTab 这个JS函数在专业版中也有,可以查阅JSAPI文档:
[attach]9952[/attach]


添加选项卡和移除选项卡的示例也有:http://fineui.com/demo_pro/#/demo_pro/other/addtab.aspx

关联框架左侧树控件和选项卡控件需要JS代码:
[attach]9953[/attach]



升级一定要仔细阅读升级指南,并严格按照这里的步骤进行:http://fineui.com/pro/upgrade.html


如果还有问题,请基于空项目重现问题,发给专业版客服QQ


作者: edgechester    时间: 2017-3-23 10:58
问题解决反馈

经过技术支持帮助,问题已经解决。是因为生成tab节点的id规则有了变化。需要在Id前加上TabStrip的clientID,比如给按钮添加关闭指定标签事件:
protected void btnCloseHello_Click(object sender, EventArgs e)
        {
            PageContext.RegisterStartupScript(CloseTab("TabId"));
        }
要改为
PageContext.RegisterStartupScript(CloseTab("Panel1_mainPanel_mainTabStrip_TabId"));

感谢FineUI团队耐心解答!
作者: sanshi    时间: 2017-3-23 11:11

专业版中生成tab节点的id规则可能有变化,其实可以通过浏览器的调试工具F12看到的:

[attach]9955[/attach]


所以把原来的代码:
  1. public string CloseTab(string tabID)
  2.         {
  3.             return String.Format("parent.removeTab.apply(null,['{0}']);", tabID);
  4.         }

  5. protected void btnCloseHello_Click(object sender, EventArgs e)
  6.         {
  7.             PageContext.RegisterStartupScript(CloseTab("Node_hello"));
  8.         }

  9.         protected void btnCloseLogin_Click(object sender, EventArgs e)
  10.         {
  11.             PageContext.RegisterStartupScript(CloseTab("Node_login"));
  12.         }
复制代码
改为:
  1. public string CloseTab(string tabID)
  2.         {
  3.             return String.Format("parent.removeTab.apply(null,['{0}']);", tabID);
  4.         }

  5.         protected void btnCloseHello_Click(object sender, EventArgs e)
  6.         {
  7.             PageContext.RegisterStartupScript(CloseTab("Panel1_mainPanel_mainTabStrip_Node_hello"));
  8.         }

  9.         protected void btnCloseLogin_Click(object sender, EventArgs e)
  10.         {
  11.             PageContext.RegisterStartupScript(CloseTab("Panel1_mainPanel_mainTabStrip_Node_login"));
  12.         }
复制代码


就可以了。






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