• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        用戶控件與自定義控件的比較及在項目中的應用

        用戶控件與自定義控件的比較及在項目中的應用

        更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

        用戶控件和自定義控件的比較及在項目中的應用

        摘 要

        本文檔描述了服務器控件的基本概念,以及用戶控件和自定義控件在部署、創建、內容和布局、設計期行為、性能幾個方面的比較,然后給出一個在項目開發中服務器控件使用的建議,最后給出一個用戶控件的創建和調用的例子。 關 鍵 詞 Server Control 服務器控件 User Control 用戶控件,ASP.NET服務器控件的一種(一般后綴名為.ASCX文件) Custom Control 自定義控件,ASP.NET服務器空間的一種(一般后綴名為.DLL文件) Deployment 部署,程序的分發 Design Attribute 設計期屬性 RAD 快速應用程序開發 修 改 履 歷 版本號版本完成日期作者修改內容描述修改處涉及章節



        1. 知識背景

        1.1服務器控件簡介 服務器控件是ASP.NET頁面中用來定義WEB應用程序用戶界面的組件。服務器控件是Web Forms 編程模式的基本元素。他們構成了一個新的,基于組件的,直觀的表單程序的基礎,可以簡化Web用戶界面的開發。這類似與 Microsoft Visual Basic/Borland Delphi等傳統RAD開發工具用來簡化Windows Forms編程的方法。從更高的層次來說,服務器控件提供了Web應用程序和表示技術隱含的抽象概念 1.2服務器控件的特征和功能

        1:服務器控件隱藏了技術中潛在的不一致性和復雜性,給網頁開發者創建了一個直觀且簡單的編程模式

        2:服務器控件隱藏了各種瀏覽器與查看設備之間的不同,包括目標Web應用程序可能需要的不同版本的瀏覽器。瀏覽器控件提供了適于目標瀏覽器內容顯示的能力 。

        3:服務器控件起到實際組件的作用,提供在組件與其他類應用合作中可能得到的相同好處。

        4:服務器控件通過回傳(PostBack)和往返(Round-Trip)的方式管理狀態

        5:服務器控件包含了處理相關Web請求的回傳數據及網頁開發者處理其服務器端代碼中用戶輸入和用戶動作的邏輯模型。

        6:服務器控件提供數據綁定模型。

        7:服務器控件為開發者提供多種機制定制自己的頁面生成(Rending).

        8:服務器控件在機器級別(通過 Machine.config文件)或者在Web應用程序級別上(通過Web.config文件)是可配置的。

        9:在Visual Sturdio.Net這樣的可視化設計期環境中,服務器控件提供了一種快速應用開發(Rapid Application Development,RAD)環境

        2. 為什么編寫自定義服務器控件

        雖然標準ASP.NET服務器控件能解決最常用的應用程序方案,當它不詳盡。實際上,有很多方案不能直接用這些控件解決。例如,標準 ASP.NET服務器控件不能解決圖像映射,制圖功能等。以下是開發服務器控件的幾個原因:

        1:以多個Web應用程序中可復用的和直觀的抽象概念形式封裝應用程

        序邏輯。

        2:創建商業的組件類庫,類似與Visual Basic中的Active控件和Delphi

        中的VCL控件。

        3:在大型工作團隊中為分工提供一個明確的機制。例如在工作團隊

        中的開發者可以通過設計和實現應用程序用戶界面的開發工具把控件

        組合在一起。

        3. 用戶控件和自定義控件的異同服務器控件分為用戶控件模型和自定義控件,一般而言,用戶控件模型適合創建內部,應用程序特定的控件,而自定義控件模型更適合創建通用的和可再分發的控件,

        下面從6個方面來說明他們的異同。

        3.1部署當在兩個控件模型之間進行選擇的時候,部署是最重要的考慮因素,自定義控件模型采用大多數應用程序可以使用的配件形式(.DLL形式),為創建可再分發的組件而設計。用戶控件模型是為單個應用程序的情況設計的。用戶控件必須以源代碼形式部署(.ASCX文件),這些需求有增加維護成本的副作用。

        3.2創建創建自定義控件的技術與創建用戶控件的技術是不相同的,自定義控件是用.NET編程語言通過編寫一個從 System.Web.UI.Control類中直接或間接派生的托管類而創建。這里沒有對創建自定義控件的提供設計器支持。但是用戶控件類間接地從System.Web.UI.Control派生而來,用戶控件以.ASCX文件的形式聲明性地創建,這類似于設計和開發ASP.NET頁面的方式(易于設計和調試)。

        3.3內容和布局由于創建機制的不同,用戶控件和自定義控件提供不同的內容和布局支持自定義控件非常適用于通過編程方式生成的布局中所表現的動態內容。例如一個具有動態行的數據綁定控件,一個動態節點的控件樹。用戶控件的布局在.ASCX文件創建時聲明,所以當需要固定布局的相對靜態的內容時,用戶控件是最好的選擇.

        3.4設計期行為目前,Visual Studio .Net為自定義控件和用戶控件提供了相當不同的設計期能力。Visual Studio .Net為自定義控件提供很大程度的設計期支持功能,比如可以支持設計時屬性,方法。Visual Studio .Net對用戶控件只擁有很少的設計期支持。用戶控件并不在屬性窗口中顯示屬性和事件,也不能放到工具箱中。

        3.5性能雖然自定義控件和用戶控件遵循著不同的創建模型并且有不同的特性,但這兩個控件都是從相同的基類(System.Web.UI.Control)間接地派生的,用戶控件在實現時聲明性,在頁面中第一次使用它的時候,用戶控件作為普通的服務器控件被解析并編譯進配件中。此后用戶控件的行為就象任何其它的編譯的(或者自定義)控件一樣,所以性能上差別不是很大,主要從其他方面來考慮怎么選擇這兩種控件。

        4. 服務器控件開發情況的建議服 務 器 控 件 開 發 情 況 的 建 議情 況建議





        5 用戶控件的開發下面用一個例子來簡述一個用戶控件的開發過程.(通過把已存在的ASP.NET的部分頁面轉換成用戶控件模型).

        Query_UC_Common.ascx源文件

        頁面到自定義控件需要修改的部分

        注:頁面到自定義控件需要修改的部分

        1:刪除標記<html><bodry><head>

        2: 把<%@ Page Language="c#" ClassName="RequiredTextField" %>該為<%@ Control Language="c#" ClassName="RequiredTextField" %>

        3: 把文件存為.ASCX文件即可




        注意:在頁面中調用用戶控件的說明

        1:為用戶控件的聲明語句,

        2:TagPrefix:TagName結合生成一個標簽,服務器解析時把它與指定的用戶控件關聯在一起,這個結合對已注冊的每個用戶控件必須是唯一的。 3: Src="Query_UC_Common.ascx”為用戶控件在位置,可以是相對路徑也可以是絕對路徑,但是一定是該頁面用戶可以訪問到的由于這個通用查詢顯示和打印的用戶控件涉及的知識點太多,我會在以后專門寫個分析報告,跟大家一起來討論!

        界面截圖如下:



        查詢設置界面過濾顯示字段





        6 參考資料

        1:MSDN ONLINE

        2:Vs.Net 2002 MSDN

        3:Developing ASP.NET Server Controls

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 久久久久久国产精品免费无码| 国产成人不卡亚洲精品91| 日本黄色动图免费在线观看| 久久亚洲中文字幕精品一区| 中美日韩在线网免费毛片视频| 亚洲av无码不卡私人影院| 人妻巨大乳hd免费看| 久久亚洲中文字幕精品一区四| 国内精品免费视频精选在线观看 | 日韩欧美一区二区三区免费观看| 亚洲天堂一区二区三区四区| 亚欧在线精品免费观看一区| 国产精品亚洲片夜色在线| 噜噜嘿在线视频免费观看| 污网站在线观看免费| 永久亚洲成a人片777777| 女人体1963午夜免费视频| 亚洲精品国产福利在线观看| 在线观看免费污视频| xxxx日本在线播放免费不卡| 亚洲AV无码久久精品狠狠爱浪潮 | 亚洲午夜无码久久久久| 无码国产精品一区二区免费式芒果 | 亚洲国产精品SSS在线观看AV| 99精品视频在线免费观看| 亚洲精品亚洲人成在线麻豆| 在线精品一卡乱码免费| 中文字幕无码精品亚洲资源网久久| 国产精品无码一区二区三区免费| 一个人看的免费视频www在线高清动漫 | 久久亚洲精品无码播放| 一区二区三区观看免费中文视频在线播放 | 亚洲第一成年免费网站| 亚洲色欲色欲www在线丝| 久久午夜免费视频| 国产人成网在线播放VA免费| 亚洲日韩在线视频| 亚洲无码黄色网址| aa级一级天堂片免费观看| 人人爽人人爽人人片av免费| 亚洲精品电影天堂网|