ASP.NET服務(wù)器控件編程之卷首語
2006/12/28 21:44:14
有朋友給我說:Asp.net之所以方便和強(qiáng)大,關(guān)鍵是它有一組強(qiáng)大的Asp.net服務(wù)器控件,在Asp.net中我們經(jīng)常會遇到Html標(biāo)注,Html控件、Web控件和Asp.net服務(wù)器控件等等,你能區(qū)分出它們之間的關(guān)系嗎?那我們首先來區(qū)分下Asp.net開發(fā)中經(jīng)常用到的幾個(gè)概念,Html標(biāo)注、Html控件、Web控件和Asp.net服務(wù)器控件。

  Html標(biāo)注:就是我們傳統(tǒng)所說的Html 超文本標(biāo)記語言,這些Html標(biāo)注在以往的靜態(tài)網(wǎng)頁或網(wǎng)頁里即可滿足我們的需求,Html標(biāo)注并沒有辦法利用程序直接來控制它們的屬性、使用方法和接收事件,我們必須另外學(xué)習(xí)其它如JavaScript 等程序語言才得以控制。如:<input id="Button1" type="button" value="button" />。

  Html控件:就是上面我們講的Html標(biāo)注的屬性里加上runat="server"所構(gòu)成的控件,至于Html標(biāo)注和Html控件之間的區(qū)別很明顯,Html控件是運(yùn)行于服務(wù)器端,Html標(biāo)注是運(yùn)行于客戶端。具體來說:當(dāng)ASP.NET 網(wǎng)頁執(zhí)行時(shí),會檢查標(biāo)注有無runat 屬性,如果標(biāo)注沒有設(shè)定,那么Html標(biāo)注就會被視為字符串,并被送到字符串流等待送到客戶端,客戶端的瀏覽器會對其進(jìn)行解釋;如果Html標(biāo)注有設(shè)定runat="server" 屬性,Page 對象會將該控件放入控制器,服務(wù)器端的代碼就能對其進(jìn)行控制,等到控制執(zhí)行完畢后再將Html控件的執(zhí)行結(jié)果轉(zhuǎn)換成Html標(biāo)注,然后當(dāng)成字符串流發(fā)送到客戶端進(jìn)行解釋。如:<input id="Button1" type="button" value="button" runat=”server” />。

  Asp.net服務(wù)器控件:也叫Web服務(wù)器控件,Asp頁面中用來定義Web應(yīng)用程序用戶界面的組件,是Web Forms編程模型的基本元素,它會依Client的情況生產(chǎn)一個(gè)或者多個(gè)Html控件,而不是直接描述Html元素。如<asp:Button ID="Button2" runat="server" Text="Button" />。那它和Html服務(wù)器端控件有什么區(qū)別,以及它有什么新的特點(diǎn)呢?

  1、 Asp.net服務(wù)器控件提供更加統(tǒng)一的編程接口,如每個(gè)Asp.net服務(wù)器控件都有Text屬性。

  2、 隱藏客戶端的不同,這樣程序員可以把更多的精力放在業(yè)務(wù)上,而不用去考慮客戶端的瀏覽器是ie還是firefox,或者是移動設(shè)備。

  3、 Asp.net服務(wù)器控件可以保存狀態(tài)到ViewState里,這樣頁面在從客戶端回傳到服務(wù)器端或者從服務(wù)器端下載到客戶端的過程中都可以保存。

  4、 事件處理模型不同,Html標(biāo)注和Html控件的事件處理都是在客戶端的頁面上,而Asp.net服務(wù)器控件則是在服務(wù)器上,舉例來說:
<input id="Button4" type="button" value="button" runat="server"/>是Html控件,此時(shí)我們點(diǎn)擊此按鈕,頁面不會回傳到服務(wù)器端,原因是我們沒有為其定義鼠標(biāo)點(diǎn)擊事件。

  <input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我們?yōu)镠tml控件添加了一個(gè)onserverclick事件,點(diǎn)擊此按鈕頁面會發(fā)回服務(wù)器端,并執(zhí)行test(object sender, EventArgs e)方法。

  <asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net服務(wù)器控件,并且我們沒有為其定義click,但是我們點(diǎn)擊時(shí),頁面也會發(fā)回到服務(wù)器端。

  由此可見:Html標(biāo)注和Html控件的事件是由頁面來觸發(fā)的,而Asp.net服務(wù)器控件則是由頁面把Form發(fā)回到服務(wù)器端,由服務(wù)器來處理。
以上是我們對Asp.net里的控件進(jìn)行了簡單的介紹,我們通常說的Web控件也就是指Asp.net服務(wù)器控件,同時(shí)本教程也是主要講Asp.net服務(wù)器控件。

  另:Html控件位于System.Web.UI.HtmlControls,Asp.net服務(wù)器控件位于System.Web.UI.WebControls。

返回列表
返回首頁 主站蜘蛛池模板: 韩国无遮挡吃奶床戏| fc2成年免费共享视频网站| 欧美性色19p| 免费在线观看毛片| 色噜噜在线视频| 国产性色视频在线高清| 2019中文字幕在线电影免费| 女人自慰AA大片| 中文字幕专区高清在线观看| 日韩a视频在线观看| 亚洲中文精品久久久久久不卡| 波多野结衣办公室33分钟| 午夜性色一区二区三区不卡视频 | 好男人www社区| 中文字幕日韩wm二在线看| 日韩免费福利视频| 亚洲av无码专区在线观看成人| 欧美激情一欧美吧| 亚洲视频精品在线| 福利视频一区二区牛牛| 啊灬啊别停灬用力啊公阅读 | 久久精品这里热有精品2015| 欧美在线性爱视频| 亚洲欧美日韩精品专区| 热re99久久国产精品| 免费看一级性生活片| 精品日韩一区二区| 四虎影库久免费视频| 试看120秒做受小视频免费| 国产成人刺激视频在线观看| 青青青手机视频在线观看| 国产调教视频在线观看| 99在线精品免费视频| 天天躁日日躁aaaaxxxx| 一区二区视频在线播放| 成人免费一区二区三区| 中文字幕免费在线播放| 无码成人精品区在线观看| 久久亚洲伊人中字综合精品| 日韩在线永久免费播放| 久操免费在线观看|