W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
服務(wù)器控件是服務(wù)器可理解的標(biāo)簽。
下面列出的代碼是從上一章中復(fù)制的:
上面的代碼反映出經(jīng)典 ASP 的局限性:代碼塊必須放置在您想要輸出顯示的位置。
通過經(jīng)典 ASP,想要把可執(zhí)行代碼從 HTML 頁面中分離出來是不可能的。這讓頁面變得難以閱讀,也難以維護(hù)。
ASP.NET 通過服務(wù)器控件,已經(jīng)解決了上述的"意大利面條式代碼"問題。
服務(wù)器控件是服務(wù)器可理解的標(biāo)簽。
有三種類型的服務(wù)器控件:
HTML 服務(wù)器控件是服務(wù)器可理解的 HTML 標(biāo)簽。
ASP.NET 文件中的 HTML 元素,默認(rèn)是作為文本進(jìn)行處理的。要想讓這些元素可編程,需向 HTML 元素中添加 runat="server" 屬性。這個(gè)屬性表示,該元素將被作為服務(wù)器控件進(jìn)行處理。同時(shí)需要添加 id 屬性來標(biāo)識(shí)服務(wù)器控件。id 引用可用于操作運(yùn)行時(shí)的服務(wù)器控件。
注釋:所有 HTML 服務(wù)器控件必須位于帶有 runat="server" 屬性的 <form> 標(biāo)簽內(nèi)。runat="server" 屬性表明了該表單必須在服務(wù)器上進(jìn)行處理。同時(shí)也表明了包含在它內(nèi)部的控件可被服務(wù)器腳本訪問。
在下面的實(shí)例中,我們?cè)?.aspx 文件中聲明了一個(gè) HtmlAnchor 服務(wù)器控件。然后我們?cè)谝粋€(gè)事件句柄(事件句柄是一種針對(duì)給定事件執(zhí)行代碼的子例程)中操作 HtmlAnchor 控件的 HRef 屬性。Page_Load 事件是 ASP.NET 可理解的多種事件中的一種:
可執(zhí)行代碼本身已經(jīng)被移到 HTML 之外了。
Web 服務(wù)器控件是服務(wù)器可理解的特殊 ASP.NET 標(biāo)簽。
就像 HTML 服務(wù)器控件,Web 服務(wù)器控件也是在服務(wù)器上創(chuàng)建的,它們同樣需要 runat="server" 屬性才能生效。然而,Web 服務(wù)器控件沒有必要映射任何已存在的 HTML 元素,它們可以表示更復(fù)雜的元素。
創(chuàng)建 Web 服務(wù)器控件的語法是:
在下面的實(shí)例中,我們?cè)?.aspx 文件中聲明了一個(gè) Button 服務(wù)器控件。然后我們?yōu)?Click 事件創(chuàng)建一個(gè)事件句柄,用來改變按鈕上的文本:
Validation 服務(wù)器控件是用來驗(yàn)證用戶輸入的。如果用戶輸入沒有通過驗(yàn)證,將顯示一條錯(cuò)誤消息給用戶。
每種 validation 控件執(zhí)行一種指定類型的驗(yàn)證(比如驗(yàn)證摸個(gè)指定的值或者某個(gè)范圍的值)。
在默認(rèn)情況下,當(dāng) Button、ImageButton、LinkButton 控件被點(diǎn)擊時(shí),會(huì)執(zhí)行頁面驗(yàn)證。您可以設(shè)置 CausesValidation 為 false ,來阻止按鈕控件被點(diǎn)擊時(shí)進(jìn)行驗(yàn)證。
創(chuàng)建 Validation 服務(wù)器控件的語法是:
在下面的實(shí)例中,我們?cè)?.aspx 文件中聲明了一個(gè) TextBox 控件、一個(gè) Button 控件、一個(gè) RangeValidator 控件。如果驗(yàn)證失敗,文本 "The value must be from 1 to 100!" 將會(huì)顯示在 RangeValidator 控件中:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: