在大多數介紹一門新技術的課本中有趣的是作者很樂意告訴您舊版本中有哪些問題而新版本中就沒有這麼多問題您可能會經常碰到同一主題的另一個不同版本頁面代碼應該與頁面的風格和設計相分離雖然多加注意和努力就可以消除這種問題但它還會發生在HTML經典的ASP中也可能發生在一些ASPNET x中使用每種新版本時您可以更容易了解那些高級內容在介紹ASPNET 能夠提供何種功能來作出改進之前您需要了解什麼是代碼與內容的分離為什麼需要?問題的答案
我們從第一部分開始但首先談一些題外話在大多數行業中某個人可能同時身兼多職因此您會發現一些能夠做木工的建築工人認為他們能夠寫作的演員認為他們可以駕駛賽車的公共汽車司機等事實是大多數人的技能可以覆蓋一個相當廣泛的領域但是他們只希望成為最多一個或兩個領域的專家對於編程經常會發現設計師管理人員和程序師集於一身實際上在最近幾年Web站點開發人員已經成為恥辱的代名詞意味著他不會真正設計不會真正編程而且也不怎麼會管理數據庫實際上我已經在一些招聘廣告中看到歷史悠久的浪費時間的人除外己經被世紀版本的Web開發人員除外所替代!
您可能會想到這一點我就是想成為Web開發人員那有什麼問題呢?在這個看上去恥辱的名詞之後存在這一個更為重要的問題Web開發人員通常必須使自己廣泛了解個相關但又確實不同的學科也就是一句老話博而不精他們之所以要這樣的一個原因是因為ASP中所涉及的技術已經將所有三個學科集中到一個Web頁面中因此在ASP頁面中您必須布置控件實現設計思路編寫代碼從而使之正常工作而且代碼很可能要涉及到數據庫經典的ASP非常容易學習理解因此人們可以解決這種問題但事實是許多早期的ASP站點非常難看訪問數據庫的時間很長而且經常容易出現bug
考慮這樣一個情形如果您的老板告訴設計師要修改Web站點的字體並告訴開發人員向首頁中添加一些搜索文本框來搜索站點的內容該怎麼辦?接下來設計師和開發人員都會無規則地對相同的頁面進行修改更糟的是設計師處理自己的indexasp版本而程序員也處理他自己的因此哪一種都不會令老板滿意即使他們依次執行程序員也經常會搞亂原始的設計或者會將原始的設計分解為一些重要的代碼段我並不打算資助哪個工作這種情況確實在我曾做的項目中發生過因此對於相同的頁面使用兩種不同的版本會比較有意義而且讓設計師處理他的圖形設計藝術家處理Web站點的界面而讓程序員在後台連接該站點的所有部分並使之正常工作也比較有意義
因此就產生了代碼與內容的分離在這個虛擬的情形下可以使用Cascading StyleSheet(級聯樣式表)來解決這個問題但是您還會碰到將設計與代碼分離的問題換句話說ASPNET控件的布置仍然交由程序員負責ASPNET 己經實現了代碼與內容的分離
ASPNET 入門教程完整版
From:http://tw.wingwit.com/Article/program/net/201311/15059.html