我是新DNN。我在DNN中的导航有问题。我有一个模块,有一个显示页面和两个视图:
- 所有项目列表
- 审批项目清单
我为这些视图控件创建了一个具有两个模块定义的模块。第一个定义包括两个控件:
- 视图控件
- 显示控制
第二个定义包括一个控件: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"详细信息"视图的方法。你当然也可以让它变得更复杂。