Dotnetnuke.具有单个显示页面的多视图



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

  1. 所有项目列表
  2. 审批项目清单

我为这些视图控件创建了一个具有两个模块定义的模块。第一个定义包括两个控件:

  1. 视图控件
  2. 显示控制

第二个定义包括一个控件:1.视图控制

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

视图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

任何人帮我。非常感谢。

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

您可以在y DNN Simple Article模块中看到这方面的示例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);
}

关键字是基类中的"ArticleId"属性,它从查询字符串参数中读取,如果该参数存在,则加载Detail视图。

这就是我加载"列表"one_answers"详细信息"视图的方法。你当然也可以让它变得更复杂。

最新更新