使用ASP.NET Atlas開發In Place Editing輸入控制項

來源:互聯網
上載者:User
作者:Dflying Chen (http://dflying.cnblogs.com )

可能有些朋友還不瞭解什麼是In Place Editing(不知道怎麼翻譯),請先看一下下面的DEMO(首頁過濾掉了Flash,請進入文章觀看,下面是一張):

上面三個輸入在平時就是普通的Label,滑鼠移至上方在上面時會有邊框出現。當使用者點擊這個Label時,切換到Input狀態。使用者輸入完畢滑鼠移開,又會切換回Label狀態,提供了豐富的使用者視覺體驗,同時也節約了頁面空間。該控制項是我匆促之間(一個小時)完成,好多程式碼群組織混亂,可能也會有不少Bug,僅供各位參考並請不吝指正。

InPlaceEditingInput控制項有如下五個屬性,當然,您可以很容易的擴充:

  1. toolTipText:該輸入控制項的初始文字提示。上面DEMO中的“Enter Your Name”就是制定的這個屬性。
  2. toolTipTextColor:該輸入控制項的初始文字的顏色,預設值為#aaa。您可以看到上面DEMO中的“Enter Your Name”的顏色與使用者實際輸入的文字顏色不一樣,稍微淺了一點。
  3. labelColor:該控制項作為Label顯示時的顏色,預設值為white
  4. inputBorderColor:該控制項作為Input顯示時的邊框顏色,預設值為black
  5. inputBgColor:該控制項作為Input顯示時的背景顏色,預設值為#f2f2f9(淡藍色)。

使用InPlaceEditingInput控制項要注意以下幾點:

  1. ScriptManager中要添加InPlaceEditingInput.js檔案的引用。
  2. 作為InPlaceEditingInput控制項的源DOM元素必須為input或者textarea
  3. 您應該為每個InPlaceEditingInput控制項指定toolTipText屬性,以帶來好的使用者體驗。

該控制項的主要開發思路為:

  1. 充分利用Atlas提供的強大的JavaScript物件導向功能,繼承於Sys.UI.TextBox類。
  2. 捕獲HTML的onmouseover,onmouseout,onfocus以及onblur事件,並應用相應的CSS樣式。

該控制項的原始碼以及開頭部分樣本程式可以在此下載:http://files.cnblogs.com/dflying/InPlaceEditingDemo.zip

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.