gpt4 book ai didi

user-controls - DNN 5 - 无法从自定义模块中的嵌套用户控件中获取当前 ModuleId

转载 作者:行者123 更新时间:2023-12-04 06:16:18 29 4
gpt4 key购买 nike

我正在为 DNN 5 编写一个自定义模块,并且我需要在模块中的每个控件上都有一个“管理”链接。我创建了一个继承自 PortalModuleBase 的新 UserControl(“ManagerLink”),将我的链接放入该控件,然后将该控件放在我的所有主要控件上。

问题是 ModuleId 和 TabId 在“ManagerLink”嵌套控件中始终为 -1。 PortalId 工作得很好,我可以通过 PortalSettings.ActiveTab.TabID 得到一个 TabId。

  • 为什么我不能从“ManagerLink”控件中获取 ModuleId 和 TabId,即使它继承自 PortalModuleBase?
  • 是否有另一种获取 ModuleId 的方法(相当于 PortalSettings.ActiveTab.TabID)

  • 2014 年更新:

    刚刚看到另一个比原来更好的答案(并接受了它)。

    如果您使用的是 DNN 6 及更早版本,请替换 ModuleBasePortalModuleBase

    最佳答案

    William Severance 来自 DNN forum为我回答了这个问题,我也会在这里发布答案。

    Since the child control inherits from PortalModuleBase, I would do the following in the Page_Load handler of the parent control

    Note: ManagerLink is assumed to be a reference to the child control

    VB.NET:


    With ManagerLink
    .ModuleConfiguration = Me.ModuleConfiguration
    .LocalResourceFile = Me.LocalResourceFile
    End With

    C#:
    protected void Page_Load(System.Object sender, System.EventArgs e)
    {
    ManagerLink.ModuleConfiguration = this.ModuleConfiguration;
    ManagerLink.LocalResourceFile = this.LocalResourceFile
    }

    The above allows the child control to use the parent's ModuleConfiguration (which will include ModuleId) and LocalResourceFile for any localization.

    关于user-controls - DNN 5 - 无法从自定义模块中的嵌套用户控件中获取当前 ModuleId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/644748/

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