2016-07-20 47 views
0

我有模块,它是元素列表。我希望能够点击一个元素并转到显示详细信息和内容的控件。DNN模块控件不'使用页面模板

问题是,当我去那个控件时,被改变的页面模板被改变了;不知道它是否正常行为,如果是这样:我如何强制签名模板?

注:我不想改变,以便在管理模板来实现这一

希望这是足够的信息,并帮助一些人的未来。

在此先感谢!

回答

0

我发现最好的方法是“Dynamically Loaded Controls

开发者可以在其模块上使用的占位符控制:

<asp:PlaceHolder id="phDynamicPlaceHolder" runat="server"></asp:PlaceHolder> 

和动态加载控制到占位符。

Select Case Me.rblDynamicControl.SelectedValue 
    Case 1 
     DynamicPage = DotNetNuke.Common.ResolveUrl(Me.TemplateSourceDirectory & "/DynamicControls/control1.ascx") 
    Case 2 
     DynamicPage = DotNetNuke.Common.ResolveUrl(Me.TemplateSourceDirectory & "/DynamicControls/control2.ascx") 
End Select 

Dim objModule As Entities.Modules.PortalModuleBase = CType(Me.LoadControl(DynamicPage), DotNetNuke.Entities.Modules.PortalModuleBase) 

If Not objModule Is Nothing Then 
    objModule.ModuleConfiguration = Me.ModuleConfiguration 
    phDynamicPlaceHolder.Controls.Add(objModule) 
End If