给ASP.NETFORUMS换肤流程演示
点击次数:27 次 发布日期:2008-11-27 01:57:30 作者:源代码网
|
源代码网推荐 换肤的大至流程如下: 源代码网推荐 源代码网推荐 以Skin-DisplayUserWelcome.ascx为例(这个是是否登陆状态显示) 源代码网推荐 1、View-ForumGroupView.ascx文件引入AspNetForums.Controls别名为Forums 源代码网推荐 2、在希望出现“是否登陆状态”显示的地方使用使用 源代码网推荐 AspNetForums.Controls.DisplayUserWelcome 源代码网推荐 3、在DisplayUserWelcome类中要做 源代码网推荐 A、设定皮肤的名称skinFilename 源代码网推荐 B、重写InitializeSkin(Control skin)函数,用于实现皮肤上的控件 源代码网推荐 C、如果与SkinnedForumWebControl类的CreateChildControls()进行的操作有所区别,还需要重写CreateChildControls(),不过可以只写出区别部分,然后用base调用。 源代码网推荐 D、如果控件存在事件,还需要编写事件 源代码网推荐 源代码网推荐 4、在皮肤中需要设定控件显示的布局,控件名称应该与DisplayUserWelcome类中实现的控件名称相同 源代码网推荐 源代码网推荐 在换肤过程中SkinnedForumWebControl类是至关重要的一个类,他通过实现INamingContainer接口来区分控件,通过重写CreateChildControls()来复合控件。 源代码网推荐 注明:CreateChildControls()在默认情况下会被OnPreRender()调用,也会在FindControl()调用OnPreRender()/*会在页面呈现时之前会调用*/FindControl()/*查找某一控件*/ 源代码网推荐 目前我在AspNetForums只发现了三种类别的皮肤, 源代码网推荐 1、MasterPage.ascx为代表的总框架皮肤 源代码网推荐 2、View-ForumGroupView.ascx为代表的皮肤容器 源代码网推荐 3、Skin-DisplayUserWelcome.ascx为代表的功能皮肤 源代码网推荐 源代码网推荐 那么如果你想改变一页面中某一个块的位置,那么你应该去修改皮肤容器,如果要改变的是某一块内部的布局则需要修改功能皮肤在default.aspx中大约用到了如下几个用户控件 源代码网推荐 源代码网推荐 delfault.aspx 源代码网推荐 源代码网推荐 View-ForumGroupView.ascx//首页的整体布区 源代码网推荐 源代码网推荐 Skin-LoginSmall.ascx//登陆那一块 源代码网推荐 源代码网推荐 Skin-NavigationMenu.ascx//菜单 源代码网推荐 Skin-Banner.ascx//自定义,位置处在菜单的上方 源代码网推荐 源代码网推荐 Skin-DisplayUserWelcome.ascx//状态 源代码网推荐 Skin-DisplayTitle.ascx//声明 源代码网推荐 Skin-Statistics.ascx//统计信息 源代码网推荐 源代码网推荐 Skin-WhoIsOnline.ascx//在线信息 源代码网推荐 Skin-DisplayLegendForum.ascx//论坛图例 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网供稿. |
