ASP.NET 2.0服務(wù)器控件之客戶端功能(3)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

      推薦: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ā)人員所必需掌握的精髓,缺一不可。

      string element = "document.getElementById(\"" ClientID "\")";
      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

      共3頁(yè)上一頁(yè)123下一頁(yè)
      來(lái)源:模板無(wú)憂//所屬分類:.Net教程/更新時(shí)間:2008-08-22
      相關(guān).Net教程