ASP.NET FORUMS換膚流程

來源:互聯網
上載者:User
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//論壇圖例


MasterPage.ascx



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.