快速業務通道

Discuz!NT控件剖析之ColorPicker(顏色拾取)和Calendar(日歷)

作者 佚名技術 來源 NET編程 瀏覽 發布時間 2012-04-11

先說一下 ColorPicker 控件 ,貼一張運行效果圖讓大家看一下:


在Discuz.Controls項目中的admin/目錄下有ColorPicker.cs這個文件, 大家也可以從下載壓縮包中得到這個文件的源碼
   
    
           那么現在就對這個文件中的關鍵代碼給代碼作一下概述:
   
           CreateChildControls() 創建相關子控件,代碼如下:

1 protected Discuz.Controls.TextBox tb = new Discuz.Controls.TextBox();
 2      protected System.Web.UI.HtmlControls.HtmlImage img = new System.Web.UI.HtmlControls.HtmlImage();
 3
 4      protected override void CreateChildControls()
 5      {
 6          
 7             tb.Size = 8; //設置選取的文件框寬度為8
 8             tb.ID = this.ID;
 9             this.Controls.Add(tb);
10
11             //設置圖版按鈕的相關圖片路徑和點擊后運行的JS腳本
12             img.ID = "ColorPreview";
13             img.Src = ImageUrl;
14             img.Attributes.Add("onclick", "IsShowColorPanel(''" + this.tb.ClientID + "'',''" + this.img.ClientID + "''," + this.LeftOffSet + "," + this.TopOffSet + ")");
15             img.Attributes.Add("class", "img");
16             img.Attributes.Add("title", "選擇顏色");
17             this.Controls.Add(img);
18
19             base.CreateChildControls();
20      }


而客戶端呈現HTML輸出的代碼交給了ColorPickHtmlContent()函數,這個函數會調用JS中的WriteColorPanel, 它的JS代碼如下:
1 function WriteColorPanel(tb_ClientID,img_ClientID,leftvalue,topvalue)
 2 {
 3    
 4     document.write(''<td >'');
 5     document.write(''<table border=\"0\" cellPadding=\"0\" cellSpacing=\"0\" id=\"ColorTable_''+tb_ClientID+''\" style=\"cursor:crosshair;\" >'');
 6     var cnum = new Array(1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0);
 7     for(i = 0

凌眾科技專業提供服務器租用、服務器托管、企業郵局、虛擬主機等服務,公司網站:http://www.rgckdj.tw 為了給廣大客戶了解更多的技術信息,本技術文章收集來源于網絡,凌眾科技尊重文章作者的版權,如果有涉及你的版權有必要刪除你的文章,請和我們聯系。以上信息與文章正文是不可分割的一部分,如果您要轉載本文章,請保留以上信息,謝謝!

分享到: 更多

Copyright ©1999-2011 廈門凌眾科技有限公司 廈門優通互聯科技開發有限公司 All rights reserved

地址(ADD):廈門軟件園二期望海路63號701E(東南融通旁) 郵編(ZIP):361008

電話:0592-5908028 傳真:0592-5908039 咨詢信箱:[email protected] 咨詢OICQ:173723134

《中華人民共和國增值電信業務經營許可證》閩B2-20100024  ICP備案:閩ICP備05037997號

安徽25选5中奖规则