ASP.NET 2.0服務(wù)器控件之客戶端功能(3)_.Net教程
推薦:ASP.NET 2.0發(fā)送電子郵件中存在的問題 在新發(fā)行的ASP.NET 2.0版本中,微軟不再建議使用System.Web.Mail命名空間而代之以新的System.Net.Mail命名空間。在這個(gè)新庫(kù)中引入了許多新特征,但是在發(fā)送郵件的方式方面也相應(yīng)地帶入了一
除了以上幾個(gè)方法之外,ClientScriptManager類還包括其他一些相關(guān)方法,有興趣的讀者可以閱讀相關(guān)資料。通過在服務(wù)器控件中靈活使用以上方法,我們可完成為控件加入客戶端行為,同時(shí)也帶來(lái)了以下好處:
(1)有效的減少所顯示頁(yè)面的大小,因?yàn)楹芏嘤嘘P(guān)客戶端功能的代碼都封裝到了客戶端腳本文件中,在控件中只需引用腳本文件的地址即可。
(2)由于同一控件共享腳本文件,因此通過瀏覽器的緩存機(jī)制,可以改善應(yīng)用程序的性能。
(3)提高了控件的靈活性和可擴(kuò)展性。通過修改腳本文件,控件開發(fā)者可以很容易的修改客戶端功能而不用編譯服務(wù)器控件。
另外,在對(duì)復(fù)雜客戶端功能處理的過程中,有時(shí)還需要在客戶端腳本中訪問控件。控件開發(fā)者可以在腳本中訪問呈現(xiàn)到客戶端的對(duì)象,并且對(duì)其進(jìn)行操作。下面來(lái)簡(jiǎn)單介紹一些有關(guān)內(nèi)容。
Control基類有一個(gè)ClientID的屬性,它作為所呈現(xiàn)的元素的ID屬性呈現(xiàn)。ASP.NET動(dòng)態(tài)為一個(gè)控件生成ClientID,并且確保頁(yè)上每一控件的ClientID是唯一的。因此,可通過在文檔對(duì)象模型中使用控件的ID在客戶端上訪問該控件(即,由該控件呈現(xiàn)的元素)。控件還可以使用ClientID為它可以呈現(xiàn)的任何附加元素(例如隱藏域)生成唯一名稱。
將ClientID的值發(fā)出到內(nèi)聯(lián)腳本中(或者發(fā)出到腳本庫(kù)的代碼中)可能是較為棘手的,因?yàn)樵揅lientID必須插在字符串變量中的正確位置。以下實(shí)例使用轉(zhuǎn)義符將ClientID插入構(gòu)成內(nèi)聯(lián)腳本的字符串中。
另外,還可以使用String類的重載的Format方法撰寫使用ClientID的客戶端腳本。
4. 部署客戶端文件的方法
默認(rèn)安裝的情況下,在wwwroot文件夾下存在一個(gè)子文件夾asp_client,其中保存了用于支持智能導(dǎo)航、驗(yàn)證控件等功能的客戶端腳本文件。很顯然這些文件非常重要。為了提高應(yīng)用的規(guī)范性,建議開發(fā)人員在部署客戶端文件過程中,采用以下方法。
· 將包含有客戶端腳本的文件夾置于asp_client文件夾中,尤其是對(duì)于那些安裝在全局配件緩存(GAC)中的控件更應(yīng)該這樣做。
· 包含腳本的文件夾推薦使用與控件相關(guān)的名稱。
· 推薦在包含腳本的文件夾下不要直接放置腳本文件,而是再創(chuàng)建一個(gè)名稱為控件版本號(hào)的文件夾,將腳本文件放置其中。
例如,開發(fā)人員創(chuàng)建了一個(gè)版本為1.0的服務(wù)器控件MyControl,其關(guān)聯(lián)一個(gè)客戶端腳本ClientScript.js,并且將該控件加入了GAC中。這時(shí)推薦部署客戶端腳本文件的路徑為:c:\Inetput\wwwroot\asp_client\MyControl_Client\1.0\ClientScript.js。另外,在客戶端文件庫(kù)中存儲(chǔ)的并不僅是腳本文件,也可以加入控件所需的樣式表文件、圖片等其他文件。
以上為部署客戶端文件的推薦方法,那么這是不是說明所有的客戶端腳本文件都需要遵循以上規(guī)則呢?當(dāng)然不是。只要開發(fā)人員從實(shí)際出發(fā),從提高程序的可維護(hù)性和方便性著眼,那么無(wú)論客戶端腳本文件置于何處,都是可以的。
5. 小結(jié)
本文主要介紹了與實(shí)現(xiàn)服務(wù)器控件客戶端功能相關(guān)的內(nèi)容。這些內(nèi)容對(duì)于開發(fā)出交互性強(qiáng)的服務(wù)器控件非常重要。掌握這些內(nèi)容并不困難,真正困難的是如何開發(fā)完成客戶端功能的CSS文件、JS腳本、DHTML程序等。這些技術(shù)的掌握不是一朝一夕就可以完成的,它需要扎實(shí)的基礎(chǔ),刻苦的鉆研。而所有這些技術(shù)和精神品質(zhì)都是一名合格的開發(fā)人員所必需掌握的精髓,缺一不可。
Page.RegisterArrayDeclaration("Page_Validators", element);
分享:ASP.NET 2.0中層次數(shù)據(jù)的處理 數(shù)據(jù)源控件可以同時(shí)暴露平面表格式的或?qū)哟蔚臄?shù)據(jù)。前面演示的SqlDataSource和ObjectDataSource控件都是平面表格式的數(shù)據(jù)源控件。ASP.NET 2.0還包含兩個(gè)層次數(shù)據(jù)源控件:用于連接XML文件的X
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET及JS中的cookie基本用法
- asp.net中倒計(jì)時(shí)自動(dòng)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法(使用javascript)
- 七招制勝ASP.NET應(yīng)用程序開發(fā)
- 淺析CMS內(nèi)容管理系統(tǒng)的兩種方案
- 模板無(wú)憂:asp.net后臺(tái)cs中的JSON格式變量在前臺(tái)Js中調(diào)用方法
- asp.net中文件下載功能的實(shí)例代碼
- ASP.NET編程的十大技巧
- 動(dòng)態(tài)代理DynamicProxy 介紹
- 使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問題分析
- 怎樣使ASP.NET實(shí)現(xiàn)頁(yè)面?zhèn)髦?/a>
- 相關(guān)鏈接:
- 教程說明:
.Net教程-ASP.NET 2.0服務(wù)器控件之客戶端功能(3)。