DotNetNuke的。单个显示页面的多视图

时间:2015-11-25 01:48:37

标签: navigation dotnetnuke

我是新的DNN。我在DNN中导航有问题。 我有一个带有显示页面和两个视图的模块:

  1. 所有项目列表
  2. 批准项目清单
  3. 我为这些视图控件创建了一个带有两个模块定义的模块。 第一个定义包括两个控件:

    1. 查看控件
    2. 显示控件
    3. 第二个定义包括一个控件:  1.查看控件

      我的问题是从view1到显示页面的导航Url工作正常但是从view2导航会将我带到空白页面。 这是两个视图中的导航:

      观看1:http://dnndev.me/en-us/vnp/services/service/ctl/Display/mid/426/id/82

      观看2:http://dnndev.me/en-us/vnp/services/service/ctl/Display/mid/427/id/82

      任何人都会帮助我。非常感谢。

1 个答案:

答案 0 :(得分:1)

我建议你只为一个基地创建一个模块定义" View"控件,在该View控件中,放置一个占位符,当加载页面时,该视图控件确定要在占位符中加载的ASCX文件。

您可以在DNN简单文章模块http://dnnsimplearticle.codeplex.com/

中查看此示例

基本上是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);
}

关键是&#34; ArticleId&#34;基类中的属性,从查询字符串参数读取,如果参数存在,则加载详细信息视图。

这就是我如何采用加载&#34; List&#34;和&#34;细节&#34;视图。你肯定也可以把它变得更复杂。