ASP.NET Atlas簡單控制項介紹之兩個基類

來源:互聯網
上載者:User
asp.net|控制項   ASP.NET Atlas中引入了用戶端控制項的概念,用物件導向思想將用戶端JavaScript將要操作的DOM元素封裝起來,帶來了更清晰的代碼模型以及更好的可複用性(不足之處是效率有所降低)。Atlas的用戶端控制項是串連JavaScript與DOM元素的橋樑,我們應該儘可能的使用用戶端控制項與DOM元素打交道,也就是以Atlas的方法來編寫我們的程式。同時,Atlas對JavaScript物件導向方面的強大擴充(請參考:ASP.NET Atlas對JavaScript的擴充),也讓我們很容易通過繼承,覆寫等方法來構建自訂的控制項。

  在前面的一些文章中,我介紹了一些Atlas中較複雜的控制項。但同時,Atlas也提供了一些比較簡單/基礎的用戶端控制項,同樣在開發中十分有用,讓我們通過這個系列來熟悉Atlas內建的簡易用戶端控制項。

  所有的Atlas用戶端控制項都繼承於Sys.UI.Control基類,同時Sys.UI.Control繼承於Sys.Component基類,讓我們先看看Sys.Component提供的屬性:

  ·id:Atlas組件的標識符,將Atlas用戶端組件與DOM元素串連起來。這個id值與DOM元素的id屬性值相同,Atlas使用這個id以找到相關的DOM元素。

  ·bindings:該組件的綁定集合。關於Atlas中的綁定,請參考:Atlas揭秘 —— 綁定(Binding)。

  ·dataContext:該組件的綁定的操作對象。如果您設定了這個屬性,那麼所有綁定條目預設會繼承這個對象,但您也可以在綁定的聲明中覆蓋這個預設的設定。

  ·isInitialized:布爾值,代表該組件是否被初始化過。唯讀。

  ·isUpdating:該組件是否正在更新中,在開始調用beginUpdate()方法到調用endUpdate()方法期間為true,其他時間為false。唯讀。

  Sys.Component還提供如下的方法:

  ·beginUpdate與endUpdate:依賴於基類的實現,可以通過調用這兩個方法延遲或一起更新一批組件,以提高效能或減少螢幕閃爍。

  ·initialize:建構函式,不必多言,繼承類可以擴充該方法並初始化自己的成員。

  還有如下事件: propertyChanged:當組件的某個屬性變化時,應該引發該事件。Atlas綁定的實現依賴於這個事件。

  現在讓我們看看Sys.UI.Control提供的屬性:

  ·accessKey:擷取或設定控制項的accessKey,該屬性是DOM元素中的accessKey屬性的封裝。

  ·associatedElement:返回控制項的相關DOM元素。這個屬性應該傳入給控制項的建構函式,並在構造以後不可以修改。

  ·behaviors:該組件的Behavior集合。關於Atlas中的Behavior,請參考:在ASP.NET Atlas中建立自訂的Behavior。

  ·cssClass:擷取或設定控制項的CSS Class,該屬性是DOM元素中的class屬性的封裝。

  ·enabled:代表該控制項是否被啟用,該屬性是DOM元素中的enabled屬性的封裝。

  ·parent:擷取或設定該控制項的父控制項。

  ·style:擷取該控制項相對應的DOM元素的style屬性值。

  ·tabIndex:擷取或設定該控制項的tab index。

  ·visibilityMode:擷取或設定該控制項在隱藏時的顯示模式,可選枚舉值:Sys.UI.VisibilityMode.Collapse代表該控制項隱藏時不佔用頁面空間,Sys.UI.VisibilityMode.Hidden代表該控制項隱藏時依然佔有其位置。

  ·visible:擷取或設定該控制項是否可見。

  Sys.UI.Control同樣提供如下方法:

  ·addCssClass:為該控制項添加一個CSS Class。

  ·removeCssClass:刪除該控制項的一個CSS Class。

  ·containsCssClass:返回布爾值,代表該控制項是否有指定的CSS Class。

  ·toggleCssClass:如果該控制項沒有指定的CSS Class,則添加,如果有,則刪除。

  ·focus:使該控制項獲得輸入焦點。

  ·scrollIntoView:使該控制項滾動到螢幕可視範圍內。

  ·onBubbleEvent:處理該控制項的子控制項發出的Bubble事件。

  ·raiseBubbleEvent:該方法會調用該控制項所有父控制項的onBubbleEvent方法,來實現Bubble事件。

  在接下來的幾篇中,我會介紹繼承或間接繼承於Sys.UI.Control的Atlas內建控制項,希望不會像這篇一樣枯燥。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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