【问题标题】:XPages Navigation - Updating Panels with Link onclick EventsXPages Navigation - 使用链接 onclick 事件更新面板
【发布时间】:2014-10-28 21:41:20
【问题描述】:

我正在尝试部署在 THE VIEW 中找到的“构建可配置和可扩展的 XPages 导航”(我是订阅者):

http://www.eview.com/eview/volr6.nsf/articleURL/2012-09-building-a-configurable-and-extensible-xpages-navigation.

我的设计非常基本和传统:两个面板。在左侧面板中,带有导航链接的自定义控件。在右侧面板中的“包含页面”控件,用于显示 XPage 作为左侧面板中链接的 onclick 事件的结果。

问题:无法更新正确的面板。

尝试过,但徒劳无功:使用 SSJS 传递 sessionScope 参数、部分更新、使用 partialRefreshGet 的 postScript。

我的代码: 我的“几乎”工作版本 - 需要手动刷新/重新加载才能在右侧面板的“包含页面”控件中实际显示所需的 XPage。

链接点击:sessionScope.showPage = "xspByYear.xsp"; AND 右侧面板的部分更新。

右侧面板的“包含页面” - pageName AND onClientLoad(默认为 Home):

var tmp = sessionScope.showPage;
if (tmp == null){
    "xspHome.xsp";
} else {
    tmp;
}

注释:所有属性/页面名称都添加了“$”,不允许更改为“#”:“...不能是运行时绑定。”

【问题讨论】:

  • 你有什么代码可以给我们看看,看看有没有问题?
  • Rolf,请用您的代码更新您的问题

标签: xpages xpages-ssjs


【解决方案1】:

您可以将“包含页面”控件传递给面板。为面板设置一个 id 并在链接的 onclick 事件中刷新面板(部分更新)。

<xp:panel id="panelToUpdate">
        <xp:include pageName="/MyXPage.xsp" id="include1"></xp:include>
</xp:panel>

【讨论】:

  • 抱歉,具体是什么意思:您可以将“包含页面”控件传递给面板。
  • 我认为他只是意味着您可以将其放置在面板中。在许多情况下,当您要刷新的内容放在面板内时,部分刷新效果最好,而您刷新面板。作为起点值得一试
  • 谢谢布赖恩,“包含页面”在一个面板中,它在一个表格单元格中。导航器自定义控件的位置也是如此。根据导航器的链接 onclick 事件,我无法用要显示的内容刷新“包含页面”。我喜欢 THE WIEW 解决方案,并希望部署它,请参阅。也是我最初的帖子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-12
相关资源
最近更新 更多