FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 6193|回复: 9
打印 上一主题 下一主题

向父页中动态添加Tab页的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-8-1 04:57:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 快乐的猪 于 2012-8-1 04:58 编辑

我用的是ExtAspNet3.1.7,浏览器IE9。我按照论坛里面的方法向父页面动态添加tab页,但是在添加完tab过了一会儿页面就会自动跳转,不知道是什么原因。代码如下
  1. ExtAspNet.PageContext.RegisterStartupScript(
  2.                                "if (top == window) { window.location.href = "../Main.aspx#/UserWork/InvestigateInput.aspx"; }" +
  3.                                "parent.window.X('RegionPanel1_mainRegion_mainTabStrip').addTab({" +
  4.                                                        "id:"dynamic_added_tab1304", " +
  5.                                                        "url:"/UserWork/InvestigateInput.aspx", " +
  6.                                                        "title:"调查信息录入", closable:true});"
  7.                 );
复制代码

通过跟踪代码,发现好像有个什么延时机制,具体的原因不明,希望各位高手能给解决下
沙发
 楼主| 发表于 2012-8-6 08:53:03 | 只看该作者
看来这个问题没有人遇到了,那请问在子页中如何实现跳转的时候可以修改tab的标题和地址栏的URl啊
板凳
 楼主| 发表于 2012-8-8 03:41:07 | 只看该作者
为什么没有人来解决一下呢?自己顶吧
地板
 楼主| 发表于 2012-8-13 17:16:36 | 只看该作者
为什么没有人来给我解决一下嘞?我今天又试了下3.1.8,这个版本倒是可以实现,但是Grid的e.Values[index]取值有“<span> </span>”,如果全部改过来工作量太大了,没办法还得用3.1.7版本。我现在可以实现向父页面动态添加tab页,但是在添加完tab过了一小会儿(几秒钟)页面就会自动跳转了,请大家帮帮忙给解决一下吧
5#
发表于 2012-8-13 17:43:15 | 只看该作者
快乐的猪 发表于 2012-8-13 17:16
为什么没有人来给我解决一下嘞?我今天又试了下3.1.8,这个版本倒是可以实现,但是Grid的e.Values取值有“  ...

写个例子吧,这样描述看不懂...
6#
 楼主| 发表于 2012-8-13 19:30:17 | 只看该作者
support 发表于 2012-8-13 17:43
写个例子吧,这样描述看不懂...

这是我做的一个例子,麻烦您给看一下吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
 楼主| 发表于 2012-8-13 19:32:03 | 只看该作者
快乐的猪 发表于 2012-8-13 19:30
这是我做的一个例子,麻烦您给看一下吧

目标页面在系统报表——>“开票查询"里面,点击页面里面的那个按钮就可以了
8#
发表于 2012-8-13 21:26:31 | 只看该作者
帅哥,你的代码存在两个问题:
1. 在 js/Main.js 中:
  1. mainTabStrip.on('tabchange', function (tabStrip, tab) {
  2.         if (tab.url) {
  3.             window.location.href = '#' + tab.url;
  4.         } else {
  5.             window.location.href = '#';
  6.         }

  7.     });
复制代码

应该改为:
  1. mainTabStrip.on('tabchange', function (tabStrip, tab) {
  2.         if (tab.url) {
  3.             window.location.hash = '#' + tab.url;
  4.         } else {
  5.             window.location.hash = '#';
  6.         }

  7.     });
复制代码

这也是导致你说的页面刷新的根本原因!!!

建议你参考最新ExtAspNet代码(会出现在v3.1.9中),已经加入Accordion+Tree的菜单,并且内部封装了很多JS逻辑。


2. AppFrame/WebReport.aspx 中的代码页有点问题,如果你站点放在虚拟目录下的话(类似http://localhost:1340/WebSite/default.aspx),那么这里的路径就不对:
  1. ExtAspNet.PageContext.RegisterStartupScript(
  2.                        "var node = {" +
  3.                             "attributes: {" +
  4.                             "    href: "/AppFrame/Default.aspx" + """ +
  5.                             "}," +
  6.                             "reload: "ok"," +
  7.                             "text: "调查信息录入"," +
  8.                             "id: "1304"};" +
  9.                        "parent.addCustomTab.apply(parent, [node]);"
  10.                     );
复制代码

应该用客户端相对目录:"./AppFrame/Default.aspx"
或者最好这样:Page.ResolveUrl("~/AppFrame/Default.aspx")



9#
发表于 2012-8-13 21:59:31 | 只看该作者
快乐的猪 发表于 2012-8-13 17:16
为什么没有人来给我解决一下嘞?我今天又试了下3.1.8,这个版本倒是可以实现,但是Grid的e.Values取值有“  ...

至于你说的“为什么没有人来给我解决一下嘞?我今天又试了下3.1.8,这个版本倒是可以实现,但是Grid的e.Values[index]取值有“<span> </span>”,如果全部改过来工作量太大了,”这个情况,在3.1.9中会改回来。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
10#
 楼主| 发表于 2012-8-14 06:35:42 | 只看该作者
sanshi 发表于 2012-8-13 21:59
至于你说的“为什么没有人来给我解决一下嘞?我今天又试了下3.1.8,这个版本倒是可以实现,但是Grid的e.V ...

非常感谢,以前在搞js的时候从来没有注意过location.hash和location.href之间的区别,而我在测试的时候用IE9和谷歌也都不知道如何进行跟踪,所以一直找不出原因,今天我专门又查了下location.hash的用法,受教了,再次表示感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-23 07:00 , Processed in 0.049173 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表