FineUI 官方论坛

标题: 如何用后台代码向前台父页面添加选项卡? [打印本页]

作者: D大调    时间: 2014-3-18 23:10
标题: 如何用后台代码向前台父页面添加选项卡?
FineUI版本4.0.5
一个标签页中有一个Grid控件,希望双击Grid控件某一行,然后根据双击的行向父页面添加一个新的选项卡,新选项卡的内容为双击Grid行的内容。
在线示例当中“其他”-“向父页面添加选项卡”给出的例子是在前台用js实现的,现在是想在后台用C#代码实现,因为打开选项卡的链接需要后台进行一下判断。以前用FineUI的3.x版本实现过相同的功能,实现的代码如下:

protected void Grid_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
            string ID="1";
            string Name="张三"
            string showSourceScript = "(function openHelloFineUI(){var node={attributes:{href:\"../Details.aspx?ID="
                + ID + "\"},text:\ + Name + "\",id:\"ID_" + ID + "\"};parent.addExampleTab.apply(parent,[node]);}).defer(100);";
            FineUI.PageContext.RegisterStartupScript(showSourceScript);
}


可是现在升级到4.0.5以后原来的代码不好用了,尝试了用4.0.5示例中的脚本修改代码执行时报错,没有实现需要的效果,谁能帮忙解决一下。

作者: gdcrx    时间: 2014-3-19 00:31
  1.         protected void btnAddTabInMain_Click(object sender, EventArgs e)
  2.         {
  3.             PageContext.RegisterStartupScript(GetAddTabReference("dynamic_tab_baidu2", "http://www.google.com.cn", "Google2", IconHelper.GetResolvedIconUrl(Icon.Application)));
  4.         }

  5.         public string GetAddTabReference(string tabID, string iframeUrl, string tabTitle, string iconUrl)
  6.         {  
  7.             return String.Format("parent.addExampleTab.apply(null,['{0}','{1}','{2}','{3}',true]);", tabID, iframeUrl, tabTitle, iconUrl);
  8.         }
复制代码

根据示例,测试上面代码,可以。
作者: gdcrx    时间: 2014-3-19 00:35
addExampleTab 在defaut.js中,确保default.js引用正常。
作者: ease    时间: 2014-4-17 13:07
default.js这是个啥,在哪里,没发现有这个文件呢
作者: gdcrx    时间: 2014-4-17 13:24
下载官网示例代码,项目里面有。
作者: erliluo    时间: 2014-7-3 10:53
我也遇到了同样的问题。解决了。需要注意的是,示例程序中,Default.cs向页面中注册了window.IDS,然后再通过Default.js进行设置即可。
作者: erliluo    时间: 2014-7-3 10:54
总之,仔细研究示例代码的功能页面,就能找到答案。
作者: mark_01    时间: 2014-11-14 09:11
你们都是 怎么解决的 回个话,帮个忙好不




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