自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#構(gòu)建Enhanced ListBox控件

開發(fā) 后端
本文介紹C#構(gòu)建Enhanced ListBox控件,這個控件能夠?qū)λ捻椷M行重排序,并且能夠?qū)崿F(xiàn)客戶端與服務器端的同步功能。

在本系列文章中,我們首先討論使用ASP.NET 2.0 C#構(gòu)建一個標準ListBox控件的增強版本Enhanced ListBox控件。這個控件能夠?qū)λ捻椷M行重排序,并且能夠?qū)崿F(xiàn)客戶端與服務器端的同步功能。然后,我們把這樣的兩個控件組合起來創(chuàng)建一個復合控件(ListMover)。

構(gòu)建提供豐富的客戶端接口的復雜Web控件經(jīng)常需要把一些客戶端JavaScript代碼與控件的服務器端代碼集成到一起。然而,在一些情況下,為了達到某種巧妙的效果而把問題搞得過于復雜經(jīng)常會破壞控件的內(nèi)部服務器代碼與生成的客戶端HTML代碼之間的數(shù)據(jù)同步,而當進行頁面回寄時這將成為一個問題。在本文中,我將首先構(gòu)建兩個“很酷”的Web控件(都極容易導致這一問題),然后向你展示如何來修改這一“脆弱性”。

本文中,我們將使用ASP.NET 2.0和C#構(gòu)建這些控件,并在后面向你簡短介紹如何使之工作在ASP.NET 1.1(或1.0)環(huán)境中。

當前,HTML仍然保持為Web應用程序生成階段的主要語言。遺憾的是,它所使用的協(xié)議是無狀態(tài)的,所以必須由Web開發(fā)者自己來處理這種無狀態(tài)特點。通過使用一些架構(gòu)特征,例如回寄機制和ViewState變量,ASP.NET有助于處理這個問題。然而,為了實現(xiàn)某些功能,還需要再作努力,從而借助于回寄事件把Web頁面不斷向服務器發(fā)出請求的各種技術(shù)結(jié)合起來。

具體地說,我將分析如何使用JavaScript和DHTML存取在客戶端生成的元素。其實,把客戶端和服務器功能融合到一起要求使用大量的技巧才能達到***用戶體驗效果,而微軟在其ASP.NET校驗控件中就實現(xiàn)了這一點。為了提供一種豐富的客戶端校驗效果,該控件中使用了大量的JavaScript.

作者注:本文假定你對定制Web控件開發(fā)有一個基本了解。因此,我將不再重復Web控件開發(fā)的基礎(chǔ)內(nèi)容,例如屬性工作原理與風格的添加方式。

一種常規(guī)實現(xiàn)方法

下面,我想向你展示如何構(gòu)建一組很酷的控件,它們具有你在商業(yè)控件中才能看到的優(yōu)秀功能。稍后,我將繼續(xù)展示定制Web控件帶給Web編程的完全封裝優(yōu)點。既然你已經(jīng)了解如何開發(fā)定制Web控件,那么你應該知道的一個概念是封裝一個控件所有的功能和行為(就象你在一個標準業(yè)務對象中所實現(xiàn)的那樣)。在學習構(gòu)建具有復雜行為的控件時,這種封裝將極有用處。

在***個控件中,我將向你展示C#構(gòu)建一個稱為Enhanced ListBox控件。這個控件將擴展ASP.NET的ListBox控件—添加一個頭部和一些重排序按鈕。注意,這是一個直接繼承自常規(guī)ListBox的控件。

之后,我還將向你展示如何構(gòu)建一個復合控件—ListMover,它將包含兩個上面提到的Enhanced ListBox控件。這個ListMover控件還包含一些允許你從一個列表到另一個列表中移動項的按鈕。

其實,用常規(guī)方法(非面向Web控件的)來實現(xiàn)這種ASP.NET功能也并不困難。首先,你要把一個常規(guī)ListBox控件拖動到你的Web表單上并且使用一些數(shù)據(jù)填充它。

然后,再添加一個標簽用作標題,還有一組按鈕用作重排序按鈕。捕獲這些按鈕的服務器端事件是ASP.NET中的標準操作;因此,你只需要使用一種方法來取得當前選定的項并且根據(jù)用戶點擊的按鈕從而把它放到該列表中的更高或更低的位置即可。

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運算符重載學習總結(jié)
  3. 概述C#語言的結(jié)構(gòu)體
  4. C#遺傳算法學習筆記
  5. 討論C#分部方法
責任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-08-19 11:21:02

C# ListBox控

2009-09-08 17:37:54

C# listbox控

2009-09-08 14:54:40

C# listBox控

2009-08-19 15:30:40

C#復合控件構(gòu)建

2009-08-12 15:50:40

C# ListBox

2009-09-08 15:39:00

2009-09-08 16:34:49

C# Listbox

2009-09-08 16:10:03

C# ListBox

2009-09-08 15:12:07

C# ListBox

2009-09-10 12:00:09

C# listbox

2009-09-08 16:22:27

c# listBox

2011-05-20 16:07:29

C#

2009-08-11 14:45:41

C# DataGrid

2009-08-18 17:41:22

C# ListView

2009-08-24 11:23:41

C# TimeLabe

2009-09-08 16:01:58

C# ListBox

2009-08-19 13:44:00

ASP.NET Lis

2009-09-08 15:50:44

c# listbox

2009-08-24 18:21:23

C# ListView

2009-08-24 10:10:09

C#復合控件
點贊
收藏

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