在建立或修改布局複雜ASP.NET伺服器端控制項時,大量的時間都是在編譯,等待JIT,修改,編譯,JIT... 這樣一個迴圈中,而且兩個編譯常常還很耗費時間。特別地,當控制項已整合在頁面之中後,在出現一些布局效果上的小偏差,再調整起來將是一個非常無趣和耗時的工作。
而這時如果能直接修改已輸出的html,很可能會更加迅速的找到問題所在。但是不幸的時,通過瀏覽器Save As出來的html代碼顯然是不太具有修改價值的。因為本來就只是要進行細微的布局調整,而Save As出來頁面新的布局問題可能比本身要解決的問題更加嚴重。
那麼就直接通過View Source把代碼copy出來存為html檔案呢?這時後我們會發現頁面裡面所有通過相對路徑定位的資源都回丟失,比如什麼圖片啊,JavaScript啊等等,缺失了這些東西,頁面也就同樣失去了再調整編輯的價值。
在HTML中,有一個base標籤,這個元素似乎只在模態視窗提交頁面避免彈出新視窗的時候,有用到過,平時似乎很少有看到網頁用這個元素。殊不知這個base在調試html代碼時,非常有用。比如你的ASP.NET頁面是http://birdshome.cnblogs.com/Index.aspx,而這個Index.aspx中顯現有很多通過相對路徑引用的圖片或JavaScript資源,這時我們通過View Source把它的html代碼在本地存為: index.htm檔案,只用再在其<head>標籤中加入<base href=http://birdshome.cnblogs.com/ />這麼一行。我們再開啟這個index.htm時,會發現這時和開啟http://birdshome.cnblogs.com/Index.aspx的效果是一樣的,所有的圖片和指令碼都正常被載入,這時候在IE Tool Bar等DOM查看工具協助下,就可以很方便通過直接修改html來調整頁面或控制項輸出的外觀樣式,在找到錯誤後再去伺服器端代碼中進行修改。
base元素的具體用法請參考:http://www.w3schools.com/tags/tag_base.asp
相關文章:
· ASP.NET控制項開發之"代碼緊湊原則"
· 設計有複雜用戶端Script的伺服器控制項