使用者控制項聲明性文法與用於建立 ASP.NET 網頁的文法非常相似。主要的差別在於:使用者控制項使用 @ Control指令取代了@ Page 指令,並且使用者控制項在內容周圍不包括 html、body 和 form 元素。
那麼我們如何來使用這個東西呢?
一般我們是直接從解決方案管理器中拖到頁面上相應的位置.那麼,當我們拖了以後頁面上跟其他的控制項有何不同呢?那這個問題呢留到呆會我們做執行個體的時候來說(先賣點關子).另外他和其他的控制項一樣,可以在頁面載入過程中動態增加.
對於使用者控制項這個特殊的東西呢,我們一般會考慮將多個使用者控制項放在一個單獨的檔案夾中,那麼這裡得提醒一句了,別圖方便把他放在APP_Code裡面,如果某個使用者控制項在 App_Code 檔案夾中,則運行包含該控制項的頁面時將發生分析錯誤。
那麼還有種情況,就是說我們希望把現有的asp.net頁呢直接改成使用者控制項,那這可行嗎?
答案是肯定的,可以的,詳細步驟我想瞭解我的人一定知道我要說什麼了,嘿嘿,確實,我很懶,所以在MSDN上粘貼了過來,大家可以看一下.
將單檔案 ASP.NET 網頁轉換為使用者控制項
重新命名控制項使其副檔名為 .ascx。
從該頁面中移除 html、body 和 form 元素。
將 @ Page 指令更改為 @ Control 指令。
移除 @ Control 指令中除 Language、AutoEventWireup(如果存在)、CodeFile 和 Inherits 之外的所有屬性。
在 @ Control 指令中包含 className 屬性。這允許將使用者控制項添加到頁面時對其進行強型別化。
將程式碼後置 ASP.NET 網頁轉換為使用者控制項
重新命名 .aspx 檔案,使其副檔名為 .ascx。
根據程式碼後置檔案使用的程式設計語言,重新命名程式碼後置檔案使其副檔名為 .ascx.vb 或 .ascx.cs。
開啟程式碼後置檔案並將該檔案繼承的類從 Page 更改為 UserControl 。
在 .aspx 檔案中,執行以下操作:
從該頁面中移除 html、body 和 form 元素。
將 @ Page 指令更改為 @ Control 指令。
移除 @ Control 指令中除 Language、AutoEventWireup(如果存在)、CodeFile 和 Inherits 之外的所有屬性。
在 @ Control 指令中,將 CodeFile 屬性更改為指向重新命名的程式碼後置檔案。
在 @ Control 指令中包含 className 屬性。這允許將使用者控制項添加到頁面時對其進行強型別化。
視頻下載 地址一 地址二 地址三