這十幾天來一直再看天轟穿的關於ASPNET的視頻一個初中畢業的學生自學成才對NET掌握的竟然比我們任何一個人都強很多還可以作為我們的老師在網上查了查他得相關資料田洪川卻自信地說在NET技術方面我願意接受任何一個IT碩士生的挑戰我是自學出來的碩士生!我對他還是挺佩服的
下面總結一下這幾天關於控件上的收獲吧!
ASPNET中的控件簡單的可以分為兩大類Web服務器控件和HTML客戶端控件
普通HTML腳本控件屬於客戶端控件用於客戶端解釋頁面的顯示的內容 也可以轉化成服務器控件只需要加上屬性runat=server例如view plain <input id=Button type=button value=button/> <input id=Button type=button runat=server value=button />
前者是客戶端控件後者是服務端控件html控件運行在客戶端而HTML服務器控件是運行在服務器端的當ASPNET 網頁執行時會檢查標注有無runat 屬性如果標注沒有設定那麼Html標注就會被視為字符串並被送到字符串流等待送到客戶端客戶端的浏覽器會對其進行解釋如果HTML標注有設定runat=server 屬性Page 對象會將該控件放入控制器服務器端的代碼就能對其進行控制等到控制執行完畢後再將HTML服務器控件的執行結果轉換成Html標注然後當成字符串流發送到客戶端進行解釋
Web服務器控件以asp開頭稱為標記前綴後面是控件類型 例如view plain <aspButton ID=Button runat=server Text=Button/>
這種標注方式就很清楚地知道控件的具體類型不像HTML控件中都是input標記還要看type屬性才知道通過觀察服務端控件我們可以發現其中的runat=server屬性是必不可少的屬性否則會出錯Web控件命名清晰明了Web控件可以與windowsForm一樣進行C#編程擁有方法和屬性並且響應事件可執行復雜的頁面請求Html標注和Html服務器控件的事件處理都是在客戶端的頁面上而服務器控件則是在服務器上雖然在HTML代碼中web服務器控件和html服務器控件的代碼是不一樣的但是在浏覽器中他們顯示的是一樣(對於浏覽器是同等對待他們的都是將數據傳送至服務器執行再返回結果兩個不同類型的控件都生成相同的HTML標記代碼)
由此可見HTML標注和HTML服務器控件的事件是由頁面來觸發的而服務器控件則是由頁面把信息發回到服務器端由服務器來處理
From:http://tw.wingwit.com/Article/program/ASP/201311/21868.html