【问题标题】:How to Show And UnShow DNN module如何显示和取消显示 DNN 模块
【发布时间】:2015-11-11 15:28:37
【问题描述】:

我刚刚在我的模块开发中解决了这个问题,我需要向一些专家提出这个问题。 我的问题是,根据我在配置文件属性中提供的自定义字段的值,在 DNN7 中显示和取消显示模块的(最佳)方式可能是什么。 我需要类似的东西:

if(customfield == "somevalue")
{
    module1.show;
}

如何做到这一点?

谢谢,

【问题讨论】:

    标签: c# asp.net dotnetnuke dotnetnuke-7


    【解决方案1】:

    您可以做的最简单的事情是在模块视图的 html 内容周围包裹一个面板。

    <asp:Panel ID="pnlModuleContainer" runat="server">
    
    ...
    
    </asp:Panel>
    

    然后在模块视图的代码隐藏中,执行以下操作:

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            pnlModuleContainer.Visible = false;
            if (User.Profile.GetPropertyValue("CustomFieldName") == "somevalue")
            {
                pnlModuleContainer.Visible = true;
            }
            else
            {
                DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, "You need 'somevalue' to see this module",
                            DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.BlueInfo);
            }
        }
        catch (Exception exc) //Module failed to load
        {
            Exceptions.ProcessModuleLoadException(this, exc);
        }
    }
    

    【讨论】:

    • 哦,我从没想过它只是 Visible=true 或 false 虽然我还没有尝试过这个,但我认为我应该做一些事情,因为它是一个模块。我的错!谢谢老兄。
    猜你喜欢
    • 2019-06-22
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    相关资源
    最近更新 更多