首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在DNN中具有多个ascx文件的模块中使用门户皮肤

如何在DNN中具有多个ascx文件的模块中使用门户皮肤
EN

Stack Overflow用户
提问于 2015-07-09 10:17:04
回答 1查看 273关注 0票数 2

我对使用多个ascx文件的模块有问题。当加载模块时,正确的皮肤将被加载,但是当我导航到模块内的一个不同的ascx文件时,皮肤会更改为管理皮肤,我无法绕过它。

我需要所有带有viewtype:"view“的ascx文件来获取门户皮肤,而不是默认的管理皮肤。有别的办法绕过这件事吗?请帮帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-09 10:26:26

我选择的方法是让我的模块来加载ASCX文件,而不是让DNN使用各种ControlKey参数来完成它。

我的DnnSimpleArticle模块是如何实现这个http://dnnsimplearticle.codeplex.com/的一个很好的例子。

基本上,View.ascx文件由一个占位符组成

代码语言:javascript
运行
复制
<asp:PlaceHolder ID="phViewControl" runat="server" />

该控件的代码隐藏执行加载。

代码语言:javascript
运行
复制
try
{
    var controlToLoad = "Controls/ArticleList.ascx";
    if (ArticleId > 0)
    {
        controlToLoad = "Controls/ArticleView.ascx";
    }

    var mbl = (dnnsimplearticleModuleBase)LoadControl(controlToLoad);
    mbl.ModuleConfiguration = ModuleConfiguration;
    mbl.ID = System.IO.Path.GetFileNameWithoutExtension(controlToLoad);
    phViewControl.Controls.Add(mbl);
}
catch (Exception exc) //Module failed to load
{
    Exceptions.ProcessModuleLoadException(this, exc);
}

这是我最喜欢的方法,可以完全控制DNN中加载的内容(允许其他模块留在页面中)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31314551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档