偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET組件設(shè)計(jì)學(xué)習(xí)之ASP.NET服務(wù)器控件

開發(fā) 后端
ASP.NET組件設(shè)計(jì)學(xué)習(xí)之ASP.NET服務(wù)器控件主要想大家講述ASP.NET服務(wù)器控件的類別和各自的特點(diǎn)。

從繼承關(guān)系上看,ASP.NET 服務(wù)器控件的類別大致上分為4類:

ASP.NET組件設(shè)計(jì)之ASP.NET服務(wù)器控件1、用戶控件

類似page,基本上不需要編程,可以將某個(gè)aspx頁面作為復(fù)用組件使用。

ASP.NET組件設(shè)計(jì)之ASP.NET服務(wù)器控件2、LiteralControl

ASP.NET 將所有不需要服務(wù)器端處理的 HTML 元素和可讀文本編譯為該類的實(shí)例。例如,開始標(biāo)記中不包含 runat="server" 屬性/值對的 HTML 元素被編譯為 LiteralControl 對象。

文本控件的行為與文本容納器一樣,這意味著可以從文本控件提取文本,并通過父服務(wù)器控件的 Controls 屬性從父服務(wù)器控件的 ControlCollection 中移除文本控件。因此,當(dāng)開發(fā)從 LiteralControl 類導(dǎo)出的自定義控件時(shí),確保由控件自己執(zhí)行任何所需的預(yù)處理步驟,而不是使用對 LiteralControl.Render 方法調(diào)用的調(diào)用來實(shí)現(xiàn)它們。一般都會這樣做以提高 Web 應(yīng)用程序的響應(yīng)時(shí)間。

LiteralControl一般不會觸發(fā)服務(wù)器端事件。

可以以編程方式分別使用 ControlCollection.Add 或 ControlCollection.Remove 方法,從頁或服務(wù)器控件添加或移除文本控件。

ASP.NET組件設(shè)計(jì)之ASP.NET服務(wù)器控件3、HtmlControl

HTML元素的ASP.NET模型服務(wù)器端對應(yīng)組件。每一個(gè)HtmlControl直接對應(yīng)于特定的HTML元素(不一定是輸入元素)。

ASP.NET組件設(shè)計(jì)之ASP.NET服務(wù)器控件4、WebControl

通常的Web控件。可以理解為屬于復(fù)雜的HTML元素以及服務(wù)器端處理邏輯組成的。

繼承關(guān)系:

  1. System.Object  
  2.  
  3.    System.Web.UI.Control  
  4.  
  5.         System.Web.UI.TemplateControl  
  6.  
  7.                System.Web.UI.Page  
  8.  
  9.         System.Web.UI.UserControl  
  10.  
  11.         System.Web.UI.LiteralControl  
  12.  
  13.         System.Web.UI.HtmlControl  
  14.  
  15.         System.Web.UI.WebControl 

通常需要程序員開發(fā)的屬于用戶控件、web控件。xxx

從WebControl繼承而來的web服務(wù)器組件,往往繼承了豐富的UI元素和控制能力。

ASP.NET服務(wù)器控件之用戶控件

1、為什么是用戶控件

現(xiàn)代人喜好偷懶,喜歡“所見即所得”以及“拖放”式的編程。在一個(gè)阿ASP.NET web項(xiàng)目中往往會在多個(gè)頁面中存在共用的UI,譬如header footer等,如果所有頁面的內(nèi)容都一致,往往采用包含特定的js文件來實(shí)現(xiàn),但如果這些多個(gè)頁面都需要的UI部分跟隨不同的用戶狀態(tài)等不同而會不同,這是必須采用動態(tài)邏輯處理,普通的js/html就無法滿足要求。之前asp中采用include asp文件來實(shí)現(xiàn),現(xiàn)在ASP.NET改變了包含asp文件的種種缺限而采用用戶控件來解決。

用戶控件本質(zhì)上是一個(gè)獨(dú)立的ASP.NET文件,擴(kuò)展名為ascx。用戶控件通常依賴于特定的ASP.NET web項(xiàng)目。當(dāng)使用用戶控件時(shí),ASP.NET頁面解析器從aspx文件中動態(tài)生成一個(gè)類,將其編譯到一個(gè)特定的裝配件(臨時(shí)緩存中托管dll),并按照.net方式引用此類實(shí)例,并進(jìn)行處理。

2、如何得到用戶控件

得到用戶控件,在vs中實(shí)際上僅需要:

在web項(xiàng)目中添加—〉用戶控件—〉輸入用戶控件名—〉在得到的空白頁面進(jìn)行UI設(shè)計(jì),并存儲。

使用時(shí),將用戶控件拖放在web 窗體上,即可使用用戶控件。此時(shí)vs替代我們做了一下工作:

在使用用戶控件的頁面添加一個(gè)register指令。具體為:

  1. ﹤%@ Register TagPrefix="uc1" TagName="WebUserControl1" Src="WebUserControl1.ascx" %﹥ 

 對于頁面解釋器可解釋為:將﹤uc1: WebUserControl1 作為用戶控件來解釋,uc1為標(biāo)簽前綴(類似標(biāo)準(zhǔn)web控件的asp標(biāo)簽前綴),WebUserControl1作為此用戶控件的標(biāo)簽,遇到這一組合就解釋為使用用戶控件實(shí)例。Src值為該用戶控件源文件所在的虛擬路徑,但不可以為絕對路徑。

3、用戶控件的實(shí)質(zhì)(ASP.NET的用戶控件的背景)

ASP.NET是編譯的,處理用戶控件同處理頁面是類似的,頁面中所有元素都是編譯成特定類被ASP.NET頁面類調(diào)用、觸發(fā)事件的。用戶控件也是通過此途徑被復(fù)用的。當(dāng)處理用戶控件時(shí),頁面框架執(zhí)行以下步驟:

解釋ascx文件,相應(yīng)解釋成為一個(gè)派生于System.Web.UI.UserControl的托管類

動態(tài)編譯到自動生成的裝配件中。

以上過程僅在***次使用用戶控件時(shí)發(fā)生,以后復(fù)用此用戶控件會省略此步驟。頁面使用register指令,將會引用此類。頁面中的用戶控件會成為此類的實(shí)例。實(shí)際上用戶控件也是編寫ASP.NET類,派生于System.Web.UI.UserControl的類,頁面使用這些類如同使用ASP.NET的標(biāo)準(zhǔn)類,為以不同在于標(biāo)準(zhǔn)控件類內(nèi)置可直接實(shí)例化使用,而用戶控件需要在使用前進(jìn)行類似頁面的編譯工作,編譯得到類并組裝到裝配件后可以被實(shí)例化。

4、用戶控件編程注意事項(xiàng)

用戶組件不可以通過new方式實(shí)例化,因?yàn)橛脩艨丶悓儆趧討B(tài)生成,new的時(shí)候(這個(gè)時(shí)候應(yīng)當(dāng)是頁面編譯時(shí)候,用戶控件還沒有被運(yùn)行使用),用戶控件類還不存在。但是可以通過Page.LoadControl(string controlname)來裝載,此時(shí)為了loadControl可以找到用戶控件,需要采用refence指令:

  1. ﹤%@ Refence Control=”xxx/UserControlSamples.ascx”%﹥  

用戶控件可以被另外用戶控件嵌套使用,但一定要確保用戶控件引用位置正確。

用戶控件本身屬于UI,可以被緩存,通過ascx文件頂端的OutPutCache指令來確定。

用戶控件代碼中到的URL是指用戶控件存在的路徑,而不是調(diào)用用戶控件的頁面代碼的路徑,需要通過Page.ResolveUrl進(jìn)行正確的解析。

ASP.NET組件設(shè)計(jì)學(xué)習(xí)之ASP.NET服務(wù)器控件的相關(guān)信息就向你介紹到這里,希望對你學(xué)習(xí)ASP.NET組件設(shè)計(jì)之ASP.NET服務(wù)器控件有所幫助。

【編輯推薦】

  1. ASP.NET控件設(shè)計(jì)時(shí)操作列表與模板編輯淺析
  2. ASP.NET控件設(shè)計(jì)器淺析
  3. ASP.NET組件設(shè)計(jì)淺談
  4. ASP.NET組件設(shè)計(jì)之ASP.NET Timer淺析
  5. ASP.NET組件設(shè)計(jì)學(xué)習(xí)之創(chuàng)建工程庫
責(zé)任編輯:仲衡 來源: cnblogs
相關(guān)推薦

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)

2009-07-28 17:17:19

ASP.NET概述

2009-08-06 14:16:04

ASP.NET服務(wù)器控

2009-08-07 17:49:44

控件設(shè)計(jì)器

2009-08-04 17:18:37

2011-07-12 15:17:02

ASP.net服務(wù)器控件

2009-08-03 18:00:00

ASP.NET服務(wù)器控

2009-08-10 14:25:33

ASP.NET服務(wù)器控

2009-08-04 13:10:05

ASP.NET服務(wù)器控

2009-08-17 09:24:25

ASP.NET控件

2009-08-06 14:42:54

ASP.NET服務(wù)器控

2011-07-12 15:03:28

2009-08-05 16:53:14

ASP.NET組件設(shè)計(jì)

2009-08-10 10:19:47

ASP.NET組件設(shè)計(jì)

2009-07-30 16:52:38

復(fù)合控件ASP.NET服務(wù)器控

2009-07-27 12:56:27

控件CheckBoxLASP.NET服務(wù)器

2009-08-04 13:39:43

ASP.NET 2.0

2009-08-04 15:13:38

2009-08-05 17:11:51

ASP.NET控件開發(fā)ASP.NET服務(wù)器控

2009-07-28 09:46:53

ASP.NET服務(wù)器控
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號