国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET控件開發(fā)之"代碼緊湊原則"

2024-07-10 13:11:59
字體:
供稿:網(wǎng)友
  • 本文來源于網(wǎng)頁設(shè)計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。
  •    我們知道制作一個控件,一般比只實現(xiàn)同樣功能的模塊要復(fù)雜,因為我們需要考慮更多的異常和適應(yīng)性,才能達到我們整合和復(fù)用代碼的效果。而當(dāng)我們開發(fā)一個asp.net控件時,不管我們的控件有多么復(fù)雜的功能和ui表現(xiàn),我們最終在客戶端瀏覽器里得到的都只是html代碼和腳本的組合。

        而就是這些控件生成的html代碼,它們的格式是不是就可以隨意處理呢。那么不能隨意又是什么意思?難道我們必須要保證html代碼的排版,并保持html良好的層次縮進什么的嗎?這里剛剛相反,我們因該盡量去掉和控件html代碼沒有關(guān)系的任何東西,包括"無用的"空格和回車。為什么要強調(diào)無用的呢?我們知道瀏覽器在處理html源代碼時,對于其中連續(xù)的空格和回車,都是按一個空格來處理并顯示的。所以,似乎我們并不用在意asp.net控件在render時,html代碼前后或中間多出的無用空格或回車。那么我們來看一下下面這個示例: <img id="analysischart" src="chartpic_000007.jpeg?b9fa64e7-2020-4430-aaf4-b20a51794909" usemap="#usemap_analysischart">
    <map id="usemap_analysischart">
        <area>...<area>
    </map>
    'www.knowsky.com
        上面這個代碼片斷是dundas web controls中的web chart控件輸出的html代碼。這個帶有hot area的chart圖片在使用時似乎沒有什么問題,如果就是普通的單獨使用這個chart,確實是沒有問題。可是當(dāng)我們把dundas chart組合到自定義的webcontrol中時,它這種帶有換行和縮進的html代碼就帶來問題了。由于布局的需要,我需要把這個chart放入一個表格之中,并讓表格顯示一個像素的border緊密包圍chart。本來這個chart的外觀就只是一個圖片而已,這樣的組合似乎應(yīng)該沒有任何問題,可實際情況是那個chart的圖片始終不能撐滿外面的表格(如下圖),而在圖片底部和表格底邊上總是有3-4個像素的間隙。而這個間隙就是由于<img />和<map>之間有空格和換行(雖然ie只當(dāng)它是一個空格)造成的。
        

    chart image

        由于dundas web chart是發(fā)布的已經(jīng)編譯好的dll,所以要刪除它輸出的html中無用的空格和回車就變的比較麻煩了。我們只能從它的render流中把html代碼取出,然后手動的去掉tags之間的空格和回車,再輸出到新控件的輸出流中去。這樣的方法雖然可以解決一部分問題,可是如果遇到內(nèi)部控件過于復(fù)雜,這時不管在正確性還是效率上就都是額外的負擔(dān)。

        所以從上面的問題我們看出,當(dāng)我們制作一個asp.net控件時,因該讓最后呈現(xiàn)的html代碼遵循"代碼緊湊原則",以提高控件的適應(yīng)性。在這樣的原則下先前那個示例就應(yīng)該這樣:
    <img id="analysischart" src="chartpic_000007.jpeg?b9fa64e7-2020-4430-aaf4-b20a51794909" usemap="#usemap_analysischart"><map id="usemap_analysischart"><area>...<area></map>
        這樣一來chart圖片就和包圍它的表格邊框緊密挨在一起了。

    發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 资源县| 宝山区| 怀仁县| 固镇县| 湖南省| 峨眉山市| 遂昌县| 上杭县| 丰镇市| 竹北市| 永新县| 乌拉特后旗| 德化县| 峨眉山市| 井冈山市| 西畴县| 元江| 会泽县| 大安市| 新和县| 兴国县| 田林县| 金阳县| 禹州市| 夹江县| 临桂县| 庆云县| 东乌珠穆沁旗| 得荣县| 克什克腾旗| 吕梁市| 黔西县| 尤溪县| 拜城县| 鸡东县| 延津县| 阿图什市| 清水河县| 阜平县| 泾源县| 德昌县|