Welcome 微信登录

首页 / 网页编程 / ASP.NET / DNN页面生成引擎原理

DNN页面生成引擎原理2010-06-19 cnblogs genodeDNN页面生成的运作方法相当复杂,并非三言两语讲得完整,以下是我所寻到的脉络,希望对研究DNN的朋友们有些帮助,文字毕竟抽象了些,以后我会接着贴出些关键代码来详尽说明。

1,得到Portal和Page信息:

HttpModule是起点,它先截取Http请求,在Application_BeginRequest 事件中,进行Url rewrite处理后得到tabId和portalAliasInfo,通过这两个参数生成一个PortalSettings对象,取得Portal信息和当前的Tab信息。存入Context对象备用。

2,显示Page和Modules:

Default.aspx的Page_init事件里先取得Context对象中的Portal和Tab信息,加载他们所指定的Skin。

在Skin.vb中(a):找出PaneControl; (b): 加载ModuleControl;(c):PaneControl.Controls.Add(ModuleControl)将ModuleControl插入PaneControl.Controls。

最后在触发ModuleControl.Page_Load事件时加载Module中的数据。