DNN页面生成引擎原理

DNN页面生成的运作方法相当复杂,并非三言两语讲得完整,以下是我所寻到的脉络,希望对研究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中的数据。

时间: 2024-07-28 13:57:46

DNN页面生成引擎原理的相关文章

php生成静态页面程序与原理分析

生成html原理分析 我们把要生成的标签写成一个模板文件,然后再利用php读取把指定标签替换成我们要替换 内容就可以了,现在主流的dedecms系统也是这么做的 生成静态页面代码. 模板即尚未填充内容html文件.例如:  代码如下 复制代码 temp.html <HTML> <TITLE>{ title }</TITLE> <BODY> this is a { file } fileArray;s templets </BODY> </H

网站静态页面生成及网站数据采集的攻防

采集|静态|数据|页面 本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,本文所讲的只是方法和原理,希望大家看完此文,能够从中得到些帮助和启发. 本文从一个ASP程序员的角度用大量实例祥细介绍了动态网站如何生成静态页面原理,又从一个采集程序开发者的角度去祥细介绍了网站数据采集的原理及功防策略. 关于网站生成静态页面,为了让本文读者容易理解,文内列举了目前常用的多种生成静态页面的方法,其中用了很多的实例代码进行说明. 关于网站数据采集攻防,作者本身是一个采集程序的开发者,同时作

关于php页面静态化原理与例子

每一个web项目,在日PV量达到十万级或百万级抑或更高时,你的网站响应速度就决定你的项目是能够继续活下去,或立马死掉的关键 除了升级服务器配置,优化代码,优化数据库之外,另一个技术?页面静态化,也是你不得不采用的技术 我们知道,页面在输出之前,会将输出数据暂时存放到BUFFER(缓冲器)中,然后才会输出到页面:所以,BUFFER中的数据,就是你PHP代码执行,并且模板渲染之后,所生成的静态数据,即html页面:对于数据更新不是很快,或者页面信息实时性要求不是很高的时候,我们可以将BUFFER的数

jsp标签-如何通过jsp页面生成List对象

问题描述 如何通过jsp页面生成List对象 如何把通过iterator遍历的List对象,设置成可编辑的状态,然后提交的时候,又能自动封装成一个List对象? 跪求~!在线等... 解决方案 可以将这个iterator中的单个元素的id设置成相同,后台中的将这个id名与一个list对应这样当你提交的时候就会获取一个修改后list

5 all商城代码-V5Mall商城代码 静态页面改动没有效果 求教静态页面生成的

问题描述 V5Mall商城代码 静态页面改动没有效果 求教静态页面生成的 V5Mall商城代码 静态页面改动没有效果 求教静态页面生成的代码 如何改动

如何把jsp页面生成excal

问题描述 显示出来的jsp页面上有一个导出按钮,点击后就会把当前页面生成excal,到需要哪些js封装和语句啊 解决方案 解决方案二:本帖最后由 defonds 于 2013-12-17 13:42:33 编辑解决方案三:百度jxl或者poi都可以解决方案四:poi.......解决方案五:给你看看我的吧这个我比较偷懒直接把页面转换成excelexport.jsp<%Stringpath=request.getContextPath();StringbasePath=request.getSch

java-Java选中数据库中表页面生成字段

问题描述 Java选中数据库中表页面生成字段 选中下拉框中的表名 下面的多选按钮怎么自动生成选中 的表名的字段 解决方案 简单实现 首先用JDBC中的 ResultSetMetaData 的getColumnCount()返回 ResultSet 中的列数 再用 getColumnName(int) 返回列序号为 int 的列名 或 getColumnLabel(int)返回此列暗含的标签; 最后就是JS判断打勾而已了. 有空可以去研究一般的orm框架··· 解决方案二: div+js可以实现

ASP.Net页面生成饼图实例_实用技巧

本文实例讲述了ASP.Net页面生成饼图的方法.分享给大家供大家参考.具体实现方法如下: 1.生成普通饼图: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebCon

aspx页面生成静态页后的问题?

问题描述 请问:我将index.aspx页面生成index.html后,表格样式和原本的index.aspx页面的不一样,在index.aspx页面里,有动态加载的服务器控件table,这样设置的:td.BorderColor=System.Drawing.Color.Blue;td.BorderWidth=1;而生成index.html后,没有显示表格边框,,,,,,怎么回事?还有,我在GridView里设置了样式,在.aspx页面显示的效果是好好的,但是生成html后边框显示就不一样了.还有