Q1:沒什麼。除了你和其他人提到的內容(分離,可讀性),你可以做任何「後面的代碼」都可以用「內聯」(頁內本身的代碼)編碼來完成。
聯機編碼並不一定意味着它的UI和代碼混合在一起的像「意大利麪代碼」(像老式ASP)。你所有的代碼都可以在UI/HTML之外生存,但仍然是內聯的。您可以將所有代碼隱藏代碼複製/粘貼到您的內聯頁面並進行一些調整(佈線,命名空間,導入聲明等),就是這樣。
其他評論指出:可移植性和快速修復/修改。 根據您的使用情況,您可能不希望某些代碼段暴露(專有),但可供使用。這對於web開發專業人員來說很常見。內聯代碼允許您的客戶以任何他們想要的方式快速/輕鬆地定製功能,並且可以隨時使用您的某些(專有)庫(dll),而無需使用代碼運行庫(如果它們是,它們不會首先僱傭了你)。
所以實際上,它就像發送一個「html」文件給客戶端,包含關於如何改變事物的指令(而不會破壞事物)......而不是發送源代碼文件以及html(aspx)頁面並希望你的客戶知道如何處理他們......
Q2:無論是任何風格(內聯或代碼隱藏)都可以工作,它真的是在「層」看你的應用程序的問題。通常,這將是:UI,業務邏輯和數據層。以這種方式思考事情會爲你節省很多時間。
實際的例子:
- 如果你的web應用程序的多個頁面必須公開/訪問數據,然後有一個數據層是最好的辦法。實際上,即使您目前有1頁的需求,其可能也不會保持這種狀態,所以將其視爲最佳做法。
- 如果網頁應用程序的多個頁面會收集用戶的輸入(即聯繫我們,註冊/註冊等),那麼您可能需要驗證輸入。因此,不要一頁接一頁地做這件事,一個常用的輸入驗證庫會節省您的時間,並減少您需要的代碼量。
在上面的例子中,你已經將很多處理「分離」到了自己的層中。然後,您的個人html/aspx頁面可以在「頁面級」使用「代碼庫」(數據和輸入驗證)以最少的代碼快速使用。然後,在「頁面級」使用內聯或代碼隱藏樣式的決定無關緊要 - 您基本上已將它「貶低」到當時的任何用例。
希望這會有所幫助....
由於邏輯問題,我總是使用代碼隱藏文件。 (我沒有很好的回答你的問題,所以我選擇了一個評論。) – Greg 2010-03-31 13:32:24