如何在 DotnetNuke 中决定 Globals.NavigateURL 中的 TabId 和 ModuleId?

How to decide TabId and ModuleId in Globals.NavigateURL in DotnetNuke?

我该死的混淆 TabIdModuleId 需要作为参数传递给 Globals.NavigateURL.

我创建了一个包含 2 个 UserControl 的项目。现在我想在第一个 UserControl 的按钮单击事件中导航。

我查看了一些参考资料。大部分建议通过TabId, Key and ModuleId。我知道 Key 但我不知道什么是 TabIdModuleId 以及如何在我的 .cs 用户控件文件中获取它们。

有人可以给我建议吗?

如果您的模块设置正确,您应该可以使用这些模块,因为它们是继承的。

从你的问题来看,你对框架的了解还不够。我建议您获取 DNN 7 一书的副本。它与 DNN 8 相关,应该可以让您正确开始。还有其他可用的东西:那里的 wiki 和开发人员资源。

在回答时,我告诉你下面两行代码是等价的:

string miUrl = base.EditUrl("ModuleInfo");
string miUrl = DotNetNuke.Common.Globals.NavigateURL(base.TabId, "ModuleInfo", String.Format("mid={0}", base.ModuleId));

如果继承自 PortalModuleBase,则可以访问基础 class 中的 TabId 和 ModuleId。如果您只需要导航到同一模块中的模块控件(视图),则 base.EditUrl() 可以正常工作。如果您需要导航到另一个模块或另一个页面(选项卡),则需要使用 NavigateUrl()。