【鳥食軒】ASP.NET控制元件開發之"程式碼緊湊原則"
我們知道製作一個控制元件,一般比只實現同樣功能的模組要複雜,因為我們需要考慮更多的異常和適應性,才能達到我們整合和複用程式碼的效果。而當我們開發一個ASP.NET控制元件時,不管我們的控制元件有多麼複雜的功能和UI表現,我們最終在客戶端瀏覽器裡得到的都只是HTML程式碼和指令碼的組合。
而就是這些控制元件生成的HTML程式碼,它們的格式是不是就可以隨意處理呢。那麼不能隨意又是什麼意思?難道我們必須要保證HTML程式碼的排版,並保持HTML良好的層次縮排什麼的嗎?這裡剛剛相反,我們因該儘量去掉和控制元件HTML程式碼沒有關係的任何東西,包括"無用的"空格和回車。為什麼要強調無用的呢?我們知道瀏覽器在處理HTML原始碼時,對於其中連續的空格和回車,都是按一個空格來處理並顯示的。所以,似乎我們並不用在意ASP.NET控制元件在Render時,HTML程式碼前後或中間多出的無用空格或回車。那麼我們來看一下下面這個示例:
上面這個程式碼片斷是Dundas Web Controls中的Web Chart控制元件輸出的HTML程式碼。這個帶有hot area的Chart圖片在使用時似乎沒有什麼問題,如果就是普通的單獨使用這個Chart,確實是沒有問題。可是當我們把Dundas Chart組合到自定義的WebControl中時,它這種帶有換行和縮排的HTML程式碼就帶來問題了。由於佈局的需要,我需要把這個Chart放入一個表格之中,並讓表格顯示一個畫素的border緊密包圍Chart。本來這個Chart的外觀就只是一個圖片而已,這樣的組合似乎應該沒有任何問題,可實際情況是那個Chart的圖片始終不能撐滿外面的表格(如下圖),而在圖片底部和表格底邊上總是有3-4個畫素的間隙。而這個間隙就是由於和
而就是這些控制元件生成的HTML程式碼,它們的格式是不是就可以隨意處理呢。那麼不能隨意又是什麼意思?難道我們必須要保證HTML程式碼的排版,並保持HTML良好的層次縮排什麼的嗎?這裡剛剛相反,我們因該儘量去掉和控制元件HTML程式碼沒有關係的任何東西,包括"無用的"空格和回車。為什麼要強調無用的呢?我們知道瀏覽器在處理HTML原始碼時,對於其中連續的空格和回車,都是按一個空格來處理並顯示的。所以,似乎我們並不用在意ASP.NET控制元件在Render時,HTML程式碼前後或中間多出的無用空格或回車。那麼我們來看一下下面這個示例:
<img id="analysisChart" src="ChartPic_000007.jpeg?B9FA64E7-2020-4430-AAF4-B20A51794909" usemap="#usemap_analysisChart">
<map id="usemap_analysisChart">
<area>...<< SPAN>area>
< SPAN <>map>
<map id="usemap_analysisChart">
<area>...<< SPAN>area>
< SPAN <>map>
上面這個程式碼片斷是Dundas Web Controls中的Web Chart控制元件輸出的HTML程式碼。這個帶有hot area的Chart圖片在使用時似乎沒有什麼問題,如果就是普通的單獨使用這個Chart,確實是沒有問題。可是當我們把Dundas Chart組合到自定義的WebControl中時,它這種帶有換行和縮排的HTML程式碼就帶來問題了。由於佈局的需要,我需要把這個Chart放入一個表格之中,並讓表格顯示一個畫素的border緊密包圍Chart。本來這個Chart的外觀就只是一個圖片而已,這樣的組合似乎應該沒有任何問題,可實際情況是那個Chart的圖片始終不能撐滿外面的表格(如下圖),而在圖片底部和表格底邊上總是有3-4個畫素的間隙。而這個間隙就是由於和
相關文章
- 【birdshome 】ASP.NET控制元件開發之"程式碼緊湊原則"ASP.NET控制元件
- 程式碼質量-開閉原則
- 開發原則。
- 設計原則之【開放封閉原則】
- 菜鳥學Python之雜湊表Python
- 雜湊競猜開發原理丨雜湊競猜遊戲原始碼丨雜湊競猜系統開發設計程式碼遊戲原始碼
- 物件導向設計原則之開閉原則物件
- 開閉原則——物件導向程式設計原則物件程式設計
- 小話設計模式原則之(4):開閉原則OCP設計模式
- 軟體開發程式設計規範及原則程式設計
- OCP原則——開閉原則
- asp.net DataList控制元件分頁程式碼ASP.NET控制元件
- 物件導向之 開閉原則物件
- 淺談J2EE開發 之 易用的原則
- 雜湊遊戲原始碼開發搭建丨hash雜湊遊戲競猜原始碼搭建丨雜湊遊戲系統開發遊戲原始碼
- 程式碼的抽象三原則抽象
- HASH雜湊遊戲原始碼丨HASH雜湊遊戲系統開發丨HASH雜湊遊戲開發成品原始碼部署原始碼遊戲開發
- Web前端安全之安全編碼原則Web前端
- 雜湊競猜遊戲系統開發DAPP丨雜湊競猜遊戲開發技術程式碼示例APP遊戲開發
- Web開發的七個原則Web
- 我的10個開發原則
- SOLDI原則之DIP:依賴倒置原則
- 設計原則之【介面隔離原則】
- 設計原則:開閉原則(OCP)
- 程式碼重構方向原則指導
- 軟體開發六大原則(三)-里氏替換原則
- block hash區塊雜湊遊戲玩法規則開發原理(下)BloC遊戲
- 《JavaScript設計模式與開發實踐》原則篇(3)—— 開放-封閉原則JavaScript設計模式
- HASH雜湊值競猜遊戲開發原始碼丨原始碼示例丨HASH雜湊遊戲程式設計遊戲開發原始碼程式設計
- 競猜雜湊遊戲系統開發程式碼詳情丨競猜hash雜湊遊戲開發技術詳情遊戲開發
- 聊聊軟體開發的SLAP原則
- 軟體開發的七條原則
- 設計原則之【依賴反轉原則】
- 設計原則之【單一職責原則】
- 設計原則之【裡式替換原則】
- Asp.net開發之旅--動態產生控制元件ASP.NET控制元件
- 開閉原則
- 雜湊遊戲系統丨雜湊遊戲系統開發(演示版)丨雜湊遊戲開發原始碼及案例遊戲開發原始碼