我对使用多个ascx文件的模块有问题。当加载模块时,正确的皮肤将被加载,但是当我导航到模块内的一个不同的ascx文件时,皮肤会更改为管理皮肤,我无法绕过它。
我需要所有带有viewtype:"view“的ascx文件来获取门户皮肤,而不是默认的管理皮肤。有别的办法绕过这件事吗?请帮帮忙!
发布于 2015-07-09 10:26:26
我选择的方法是让我的模块来加载ASCX文件,而不是让DNN使用各种ControlKey参数来完成它。
我的DnnSimpleArticle模块是如何实现这个http://dnnsimplearticle.codeplex.com/的一个很好的例子。
基本上,View.ascx文件由一个占位符组成
<asp:PlaceHolder ID="phViewControl" runat="server" />
该控件的代码隐藏执行加载。
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中加载的内容(允许其他模块留在页面中)。
https://stackoverflow.com/questions/31314551
复制相似问题