科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件给 ASP.NET FORUMS 换肤流程演示

给 ASP.NET FORUMS 换肤流程演示

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

换肤的大至流程如下:      以Skin-DisplayUserWelcome.ascx为例(这个是是否登陆状态显示)

作者:中国IT实验室 来源:中国IT实验室 2007年9月1日

关键字: Forums ASP.NET

  • 评论
  • 分享微博
  • 分享邮件
换肤的大至流程如下:
  
  以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//论坛图例

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章