資源描述:
《asp.net開(kāi)發(fā)大全第5章.web窗體的基本控件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、第5章Web窗體的基本控件與ASP不同的是,ASP.NET提供了大量的控件,這些控件能夠輕松的實(shí)現(xiàn)一個(gè)交互復(fù)雜的Web應(yīng)用功能。在傳統(tǒng)的ASP開(kāi)發(fā)中,讓開(kāi)發(fā)人員最為煩惱的是代碼的重用性太低,以及事件代碼和頁(yè)面代碼不能很好的分開(kāi)。而在ASP.NET中,控件不僅解決了代碼重用性的問(wèn)題,對(duì)于初學(xué)者而言,控件還簡(jiǎn)單易用并能夠輕松上手、投入開(kāi)發(fā)。5.1控件的屬性每個(gè)控件都有一些公共屬性,例如字體顏色、邊框的顏色、樣式等。在VisualStudio2008中,當(dāng)開(kāi)發(fā)人員將鼠標(biāo)選擇了相應(yīng)的控件后,屬性欄中會(huì)簡(jiǎn)單的介紹該屬性的作用。如圖5-1所示。圖5-1控件的屬性
2、屬性欄用來(lái)設(shè)置控件的屬性,當(dāng)控件在頁(yè)面被初始化時(shí),這些將被應(yīng)用到控件??丶膶傩砸部梢酝ㄟ^(guò)編程的方法在頁(yè)面相應(yīng)代碼區(qū)域編寫,示例代碼如下所示。protectedvoidPage_Load(objectsender,EventArgse){Label1.Visible=false;//在Page_Load中設(shè)置Label1的可見(jiàn)性}上述代碼編寫了一個(gè)Page_Load(頁(yè)面加載事件),當(dāng)頁(yè)面初次被加載時(shí),會(huì)執(zhí)行Page_Load中的代碼。這里通過(guò)編程的方法對(duì)控件的屬性進(jìn)行更改,當(dāng)頁(yè)面加載時(shí),控件的屬性會(huì)被應(yīng)用并呈現(xiàn)在瀏覽器。1565.2簡(jiǎn)單控件ASP.
3、NET提供了諸多控件,這些控件包括簡(jiǎn)單控件、數(shù)據(jù)庫(kù)控件、登錄控件等強(qiáng)大的控件。在ASP.NET中,簡(jiǎn)單控件是最基礎(chǔ)也是經(jīng)常被使用的控件,簡(jiǎn)單控件包括標(biāo)簽控件(Label)、超鏈接控件(HyperLink)以及圖像控件(Image)等。5.2.1標(biāo)簽控件(Label)在Web應(yīng)用中,希望顯式的文本不能被用戶更改,或者當(dāng)觸發(fā)事件時(shí),某一段文本能夠在運(yùn)行時(shí)更改,則可以使用標(biāo)簽控件(Label)。開(kāi)發(fā)人員可以非常方便的將標(biāo)簽控件拖放到頁(yè)面,拖放到頁(yè)面后,該頁(yè)面將自動(dòng)生成一段標(biāo)簽控件的聲明代碼,示例代碼如下所示。4、at="server"Text="Label">上述代碼中,聲明了一個(gè)標(biāo)簽控件,并將這個(gè)標(biāo)簽控件的ID屬性設(shè)置為默認(rèn)值Label1。由于該控件是服務(wù)器端控件,所以在控件屬性中包含runat=“server”屬性。該代碼還將標(biāo)簽控件的文本初始化為L(zhǎng)abel,開(kāi)發(fā)人員能夠配置該屬性進(jìn)行不同文本內(nèi)容的呈現(xiàn)。注意:通常情況下,控件的ID也應(yīng)該遵循良好的命名規(guī)范,以便維護(hù)。同樣,標(biāo)簽控件的屬性能夠在相應(yīng)的.cs代碼中初始化,示例代碼如下所示。protectedvoidPage_PreInit(objectsender,EventArgs
5、e){Label1.Text="HelloWorld";//標(biāo)簽賦值}上述代碼在頁(yè)面初始化時(shí)為L(zhǎng)abel1的文本屬性設(shè)置為“HelloWorld”。值得注意的是,對(duì)于Label標(biāo)簽,同樣也可以顯式HTML樣式,示例代碼如下所示。protectedvoidPage_PreInit(objectsender,EventArgse){Label1.Text="HelloWorld
AHtmlCode";//輸出HTMLLabel1.Font.Size=FontUnit.XXLarge;
6、//設(shè)置字體大小}上述代碼中,Label1的文本屬性被設(shè)置為一串HTML代碼,當(dāng)Label文本被呈現(xiàn)時(shí),會(huì)以HTML效果顯式,運(yùn)行結(jié)果如圖5-2所示。圖5-2Label的Text屬性的使用156如果開(kāi)發(fā)人員只是為了顯示一般的文本或者HTML效果,不推薦使用Label控件,因?yàn)楫?dāng)服務(wù)器控件過(guò)多,會(huì)導(dǎo)致性能問(wèn)題。使用靜態(tài)的HTML文本能夠讓頁(yè)面解析速度更快。5.2.2超鏈接控件(HyperLink)超鏈接控件相當(dāng)于實(shí)現(xiàn)了HTML代碼中的“”效果,當(dāng)然,超鏈接控件有自己的特點(diǎn),當(dāng)拖動(dòng)一個(gè)超鏈接控件到頁(yè)面時(shí),系統(tǒng)會(huì)自動(dòng)生成控件聲明
7、代碼,示例代碼如下所示。HyperLink上述代碼聲明了一個(gè)超鏈接控件,相對(duì)于HTML代碼形式,超鏈接控件可以通過(guò)傳遞指定的參數(shù)來(lái)訪問(wèn)不同的頁(yè)面。當(dāng)觸發(fā)了一個(gè)事件后,超鏈接的屬性可以被改變。超鏈接控件通常使用的兩個(gè)屬性如下所示:qImageUrl:要顯式圖像的URL。qNavigateUrl:要跳轉(zhuǎn)的URL。1.ImageUrl屬性設(shè)置ImageUrl屬性可以設(shè)置這個(gè)超鏈接是以文本形式顯式還是以圖片文件顯式,示例代碼如下所示。8、p:HyperLinkID="HyperLink1"runat="server"ImageUrl="http