gpt4 book ai didi

html - 在 DotNetNuke 7 中获取特定页面的 URL

转载 作者:行者123 更新时间:2023-11-27 22:29:41 25 4
gpt4 key购买 nike

我在 DNN 7 中创建了一个页面,并向其中添加了 Codeplex 提供的标准反馈模块。现在我想使用另一个页面中间的超链接(不是从菜单)链接到这个页面。

我可以通过管理页面看到反馈页面的 URL,它似乎是一致的。因此,显而易见的方法是使用 HTML 模块并简单地对 URL 进行硬编码。但是感觉有些不对劲。我想创建一个简单的模块,将超链接和周围的文本封装在一个控件中,并使用 NavigateURL 获取反馈页面的 URL。不幸的是,我一直无法弄清楚该怎么做。我已经看到很多关于获取同一模块中其他控件的 URL 甚至使用 ModuleID 的信息,但没有任何信息可以帮助我实现以我的经验水平获取特定页面的 URL 的代码。

对于冗长的介绍感到抱歉,但我想知道对 URL 进行硬编码是否是一种好的做法,如果不是,如何以编程方式获取反馈页面的 URL。时间差

最佳答案

NavigateURL 的第一个参数是 TabId(页面在 DNN API 中称为选项卡)。要获取“反馈”选项卡/页面的 ID,您需要调用 DotNetNuke.Entities.Tabs.TabController 类的方法;我建议使用静态方法 TabController.GetTabByTabPath(portalId, tabPath, cultureCode),像这样:

Globals.NavigateURL(TabController.GetTabByTabPath(this.PortalId, "//Feedback", string.Empty))

您仍然在这里对页面路径进行硬编码;你可以有一个设置,让你选择页面,但对于一个简单的链接来说,这似乎有点矫枉过正。通过对路径进行硬编码但仍使用 NavigateURL 的主要好处是您对 URL 的生成方式所做的任何更改(例如,升级到 DNN 7.1 中的高级 URL 提供程序)会自动发生。

大多数人不太担心以编程方式在 HTML 内容中生成链接。

关于html - 在 DotNetNuke 7 中获取特定页面的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com