成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#重載LoadPostData方法

開發(fā) 后端
這里介紹C#重載LoadPostData方法,為了在第一次回寄和所有隨后的回寄中實(shí)現(xiàn)同步,ASP.net在IPostBackDataHandler接口的實(shí)現(xiàn)中提供了一個(gè)LoadPostData方法。

為了在***次回寄和所有隨后的回寄中實(shí)現(xiàn)同步,ASP.net在IPostBackDataHandler接口的實(shí)現(xiàn)中提供了一個(gè)LoadPostData方法。在每一次回寄時(shí)都要調(diào)用LoadPostData方法;因此,你需要在此做一些工作。

值得一提的是,ASP.NET 2.0修整了一個(gè)在1.1版本中被忽視的小地方,然而這一修改能夠使你的工作容易許多。ASP.NET ListBox控件已經(jīng)在兩個(gè)版本(1.1和2.0)中實(shí)現(xiàn)了IPostBackDataHandler接口。但是在2.0版本中,微軟使這個(gè)接口的方法定義虛擬化(virtual,在VB中稱作Overridable)。這意味著,你不必在EnhancedListBox控件中重新實(shí)現(xiàn)這個(gè)接口;而是,你僅需C#重載LoadPostData方法。

更重要的是,這也意味著,你可以存取基類實(shí)現(xiàn)而不必創(chuàng)建所有已經(jīng)存在于你的擴(kuò)展控件中的功能。什么功能呢?這包括微軟加于其中的一切:用于處理 Item集合,SelectedIndex,SelectedValue和SelectedItem屬性,及其它許多執(zhí)行ListBox控件功能的代碼。在ASP.NET 1.1中,你必須在你的派生控件中實(shí)現(xiàn)這個(gè)接口并且要提供你自己對這兩個(gè)方法的定義代碼,不僅包括你自己的加入的代碼而且還要重復(fù)微軟已經(jīng)在其控制中所實(shí)現(xiàn)的一切。

我猜測,微軟有人已經(jīng)發(fā)現(xiàn)了他們的實(shí)現(xiàn)中的錯(cuò)誤,并且把方法變?yōu)関irtual的,這樣開發(fā)者能夠存取基類的代碼。因此,在源碼列表6中向你展示如何實(shí)現(xiàn)C#重載LoadPostData方法。在這個(gè)重載中,你將首先調(diào)用基類實(shí)現(xiàn)代碼;然后,加上你需要的代碼以與Item集合同步。

另外,你還可以利用ListBox控件—通過把它編寫成一個(gè)復(fù)合控件。此時(shí),你需要把ListBox中的每一個(gè)屬性映射到你的EnhancedListBox以便使它成為ListBox控件的一個(gè)投放位置點(diǎn)位符。無論使用哪一種方法,或者通過LoadPostData方法的重新創(chuàng)建,你都仍然需要寫很多代碼。如果我專門為ASP.NET1.1編寫這個(gè)控件,那么我很可能采取最直接的方案:復(fù)合控件方案。

LoadPostData方法使你能夠存取寄送到服務(wù)器的每一個(gè)域,包括你的隱藏文本域(存儲在要傳遞到這個(gè)方法的postCollection參數(shù)中)。你可以問:為什么需要該隱藏文本域,而不是使用這個(gè)參數(shù)來存取被回寄的< select>元素呢?現(xiàn)在,我作一下解釋。首先,回顧一下典型的ASP時(shí)代,當(dāng)時(shí)你使用Request.Form屬性來存取頁面域。在回寄時(shí),你能夠存取一個(gè)< select>元素的唯一的部分是選擇的項(xiàng)。在該方案中,你需要完整的列表內(nèi)容(因此,包括隱藏的文本域)。列表6向你展示如何分析該隱藏的文本域的內(nèi)容并且把Item重新添加到Item集合中。注意,你是怎樣調(diào)用基類實(shí)現(xiàn)的。

***,在你***次生成控件時(shí),你必須構(gòu)建這個(gè)隱藏的文本域,以防在任何重排序前發(fā)生頁面回寄。Render方法的***一行是:

  1. output.Write("<script language='JavaScript'>BuildItemList
    (document.all." + this.ClientID +",document.all.__" + this.ClientID +");
  2. </script>"); 

你可以在列表1的***看到這一點(diǎn)。

現(xiàn)在,你可以使用EnhancedListBox控件來重排序一些項(xiàng),回寄,并且確保在重新生成頁面前,控件的服務(wù)器存儲與在客戶端被改變的客戶端存儲完全同步。因此,現(xiàn)在讓我們使用相同的技術(shù)來構(gòu)建一個(gè)復(fù)合控件ListMover。 以上介紹C#重載LoadPostData方法。

【編輯推薦】

  1. 概述C# Cast
  2. 淺析C# switch和case
  3. C#托管資源和非托管資源
  4. 分析C# ListBox控件
  5. 簡單介紹C++ RAII
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-25 17:15:50

C#隱藏C#重寫C#重載

2009-02-20 09:50:29

C#方法重載編程

2009-07-31 16:00:30

C#函數(shù)重載

2009-08-05 14:09:04

C#日期轉(zhuǎn)換

2009-09-01 11:19:47

C# 3.0擴(kuò)展重載抉

2009-09-01 11:28:32

C#使用函數(shù)重載

2009-09-04 13:18:10

C#允許運(yùn)算符重載

2009-08-12 10:27:12

C#運(yùn)算符重載運(yùn)算符重載實(shí)例

2009-08-14 10:16:57

C#運(yùn)算符重載

2009-08-12 10:56:47

C#運(yùn)算符重載C#運(yùn)算符重載實(shí)例

2009-08-26 17:16:22

C# CheckSta

2009-08-17 17:40:53

C# GetAllCu

2009-08-26 09:50:08

C# GreetPeo

2009-08-18 18:06:54

C#操作符重載

2009-08-18 17:42:12

C#操作符重載

2009-08-12 12:46:11

C#運(yùn)算符重載

2009-08-12 10:47:03

C#運(yùn)算符重載

2009-08-18 17:55:20

C#操作符重載

2009-09-07 05:31:39

C#窗體關(guān)閉事件

2009-08-12 10:37:13

C#運(yùn)算符重載
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日日骚网 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲精品久久久一区二区三区 | 亚洲精品一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 精品国产一区二区三区久久狼黑人 | 国产免费一区 | 日韩精品一区二区三区视频播放 | 精品视频网| 欧美视频在线播放 | 一级特黄a大片 | 97人人草 | 久在线精品视频 | 亚洲综合无码一区二区 | 精品国产乱码久久久久久牛牛 | 成人精品免费视频 | 亚洲一区二区三区四区五区中文 | 国产乱码精品一区二区三区忘忧草 | 久久久久中文字幕 | 中文字幕在线第一页 | 在线看中文字幕 | 亚洲成人网在线播放 | 日本中文字幕在线观看 | 国产一二三区电影 | 一区二区三区日韩精品 | 色男人天堂av| 91在线免费视频 | 产真a观专区 | 国产三区四区 | 国产精品九九九 | 日韩中文字幕在线播放 | 一级黄色片一级黄色片 | 国产精品色一区二区三区 | 日本一区二区影视 | 国产精品一区二 | 一级做a爰片久久毛片 | 日韩在线观看网站 | 免费视频一区二区三区在线观看 | 天堂色| 一区二区三区四区av | 日日草天天干 |