国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

C# JavaScript函數使用

開發 后端
這里介紹MoveItemUp是你已經編寫成功的C# JavaScript函數之一。在生成用于排序的按鈕之前,該代碼將以堆棧存放這些JavaScript命令。

C# JavaScript函數

為了使用客戶端代碼實現EnhancedListBox中項的重排序,你必須使用JavaScript腳本,并且要把它們依附到EnhancedListBox的兩個按鈕上。為此,我建議你使用“往后考慮”的方法。就象編寫一個老式的ASP以前的Web頁面,首先編寫一些生成HTML文件的JavaScript。為此,最好的方法是運行該控件,然后觀察其源碼并把它的HTML代碼復制到一個編輯器,再添加JavaScript。下面展示了你需要添加到你的控件中的JavaScript的原始形式。然后,借助于StringBuilder/StringWriter技術,該控件構建這部分代碼。該JavaScript代碼由兩部分功能組成:接收一個HTML控件;使用選擇索引并且在列表中上下移動它(基本上與我在本文開始我使用服務器代碼向你展示的一樣)。現在,你要理解,你把該JavaScript代碼添加到Web控件的何處。為了實現在一個Web表單上有多個EnhancedListBox控件的情況下,該JavaScript代碼不會被重復復制,你需要使用Page.ClientScript對象的ReGISterClientScriptBlock方法輸出它。

要使這個方法起作用,你必須在重載的OnInit事件中調用它。

最后,為使按鈕正確工作,你需要把添加的客戶端方法依附到其上。在下面的代碼中,你會看到引用了一個方法RenderButtons。盡管我沒有把該代碼在此列出,但是它能夠使用我在以前文章中介紹的技術生成按鈕。當時,在生成實際HTML標簽的之前,標簽屬性是使用 AddAttribute方法以棧式存放的。在此,你使用一樣的技術把客戶端方法依附到你的按鈕。

  1. string s_MoveUp = "MoveItemUp(document.all." +this.ClientID + ");  
  2. output.AddAttribute(HtmlTextWriterAttribute.OnClick,s_MoveUp);  

記住,MoveItemUp是你已經編寫成功的C# JavaScript函數之一。在生成用于排序的按鈕之前,該代碼將以堆棧存放這些JavaScript命令。對于向下(down)按鈕,你使用一樣的技術。注意,我使用ClientId代表該生成后的控件的ID;但是,在這個控件位于一個復合控件內部時,這個屬性要考慮使用父控件的名字。

現在,你可以成功地把該控件應用于一個Web表單中。你可以使用與你操作一個標準ListBox控件一樣的方式在其上添加一些項。

事實上,這完全是一個投放位置占位符(或ASP.NET ListBox控件)。當你使用重排序按鈕時,你將看到列表中的項相應地改變順序。現在讓我們先記下這個問題。如果你把一個按鈕拖動到一個Web表單上 (不需要為之添加代碼)并執行一個回寄,你猜會發生什么呢?完全與我以前描述的一樣;任何你使用重排序按鈕作的重排序改變都將恢復到在最近一次回寄之前該控件看上去的狀態。因此,讓我們修改一下這個問題。

首先,我再添加一些JavaScript。注意,這部分代碼被添加到重載的OnInit方法中并且使用StringBuilder/StringWriter技術進行構建;而且,這個JavaScript方法的名字是BuildItemList。這個函數負責構建列表框完整內容的一個字符串描述并且把該串放到要傳遞到該函數的一個HTML元素的value屬性中。你可以把這看作是列表內容的一種串行化。該串行化的輸出風格會根據你自己的設計的不同而有所不同。調用這個C#  JavaScript函數需要依附到該按鈕上的其它代碼。

  1. string s_MoveUp = "MoveItemUp(document.all." + this.ClientID + "); ";  
  2. string s_BuildItemList ="BuildItemList
    (document.all."
     + this.ClientID + ",document.all.__" + this.ClientID + "); ";  
  3. output.AddAttribute(HtmlTextWriterAttribute.Onclick,MoveUp + " " + BuildItemList);  

現在,讓我們來分析一下你發送到BuildItemList函數的兩個參數。第一個參數相應于生成的控件的ID。第二個參數是另外一個ID,與前一個命名一致,但是前面有一個"__"。這是一個你仍然需要添加到你的Web控件的隱藏的文本框,它將作為一個“串行化”項列表的占位符。我要在OnPreRender事件中注冊這個隱藏的文本域。 

  1. string s_MoveUp = "MoveItemUp(document.all." + this.ClientID + "); ";  
  2. string s_BuildItemList ="BuildItemList(document.all." + this.ClientID +  
  3. ",document.all.__" + this.ClientID + "); ";  
  4. output.AddAttribute(HtmlTextWriterAttribute.Onclick,MoveUp + " " + BuildItemList);  

注意,我已經使用我們的控件的ID來標識隱藏的文本域。

到目前為止,你已經擁有了一個完整功能的Web控件;其中,客戶端JavaScript被綁定到其中的兩個按鈕上。該JavaScript成功地實現在ListBox中的項的重排序并且把其內容串行化為一個字符串;然后,該字符串被存儲在一個隱藏的文本域中。所有這些都發生在客戶端。如果一個回寄發生,不會發生重排序,因為當重排序時控件的Item服務器屬性還沒有收到你對它作的任何改變的消息;但是幸運的是,位于隱藏的文本域中的表單的一個串行化快照中發生了這一變化。現在,你有了可以與Item屬性一起使用的內容了。那么,接下來,你該如何實現呢?

【編輯推薦】

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

2009-07-31 14:26:38

JavaScript函C#函數

2009-08-31 09:21:38

JavaScript調

2009-09-01 11:28:32

C#使用函數重載

2009-07-31 14:47:22

JavaScript函C#

2009-08-31 10:28:00

C# CreateEm

2009-08-31 10:14:49

C# CreateEm

2009-08-31 09:59:13

C# CreateEm

2009-07-30 15:24:13

C#析構函數C#構造函數

2009-08-28 17:01:43

C#構造函數

2009-08-14 09:27:27

C#構造函數的特性

2009-08-24 18:09:13

C#構造函數

2009-07-31 14:03:21

C# Format函數

2009-07-31 14:15:38

C# 構造函數

2009-08-10 14:43:03

C#函數Convert

2009-07-31 14:54:48

dll函數C#導出

2009-07-31 14:08:54

C# 匿名函數

2009-07-31 16:00:30

C#函數重載

2009-08-14 17:24:28

C#構造函數和析構函數

2009-09-04 11:15:07

選擇C#構造函數

2009-08-25 10:59:00

C#調用函數顯示值
點贊
收藏

51CTO技術棧公眾號

最新欧美人z0oozo0| 亚洲第一页自拍| 国产在线中文字幕| 国产精品人成电影| 视频一区二区在线| 国产三级三级看三级| yiren22亚洲综合伊人22| a欧美人片人妖| 日韩伦理一区二区三区| 亚洲精品少妇| 久久久精品一品道一区| 亚洲精品一区在线观看香蕉| 97欧美精品一区二区三区| 国产亚洲一区在线播放| 一级片免费视频| 校园春色亚洲| 奇米在线7777在线精品| 91九色02白丝porn| 国产精品久久9| 香艳视频网站| 欧美激情极品| 国产精品青草综合久久久久99| 精品sm在线观看| 四虎影院一区二区三区| 亚洲一区二区| 欧美视频一区在线| 99国精产品一二二线| 亚洲高清国产精品| 在线电影一区二区| 国产日韩换脸av一区在线观看| 又黄又免费的网站| 中文字幕第一区二区| 欧洲日本亚洲国产区| 成人性生交大片免费看视频r| 欧美偷拍自拍| 欧美日韩国产限制| 成人在线观看视频网站| www.久久爱.cn| 久久国产日韩| 免费不卡欧美自拍视频| 中文字幕无码不卡免费视频| 青青草久久爱| 国产精品自拍网| 羞羞的网站在线观看| 九色综合狠狠综合久久| 2019中文字幕在线| av电影在线观看| 国产成a人无v码亚洲福利| 永久555www成人免费| 成年网站免费| 日韩一区二区三区视频在线观看 | 久久国产日韩欧美| jizzyou欧美16| 久久福利电影| 俺去了亚洲欧美日韩| 91精品视频在线播放| 欧美另类专区| 欧美插天视频在线播放| 羞羞色午夜精品一区二区三区| 日韩亚洲欧美综合| 欧美国产日韩电影| 3atv一区二区三区| 瑜伽美女视频| 99精品视频中文字幕| 亚洲精品日韩激情在线电影| 亚洲伦理久久| 日韩精品一区二区三区蜜臀| 男女无套免费网站| 麻豆91小视频| 成人激情视频小说免费下载| 久久国产剧场电影| 亚洲欧洲动漫| 亚洲男人的天堂av| 一区二区视频在线观看| 国产精品多人| 久久福利一区二区| 国产精品国产精品国产专区蜜臀ah| 91网站在线观看免费| 成年人深夜视频| 日韩动漫一区| 亚洲欧洲精品一区二区| 91精品国产视频| 午夜电影福利网| 精品国产一区av| 99九九99九九九视频精品| 男人的天堂免费在线视频| 精品国产乱码久久久久久图片 | 在线视频中文亚洲| 亚洲女色av| 4444亚洲人成无码网在线观看| 亚洲精品在线观看www| 国产福利一区二区三区视频在线 | 免费成人黄色网| 国产免费久久| av电影成人| 欧美日韩国产一级| 国产传媒在线播放| 亚洲国产日韩欧美在线99| 69堂精品视频在线播放| 青青草原网站在线观看| 91小视频在线免费看| 成人黄色网页| 成人在线精品视频| 久久精品九九| 777久久精品| 蜜桃传媒视频麻豆第一区免费观看| 奶水喷射视频一区| 97超碰在线公开在线看免费| 精品综合久久久久久97| 欧美成人69| 国产探花在线观看| 欧美日韩国产成人在线观看| 色婷婷综合视频在线观看| 99只有精品| 亚洲第一会所| 精品一二三四区| 国产视频九色蝌蚪| 亚洲视频在线观看三级| 免费福利影院| 精品国产91九色蝌蚪| 国产精品麻豆久久久| 久久国产日韩| 精品国产99| 国产va亚洲va在线va| 午夜精品影院在线观看| 国产韩日精品| 人成在线免费视频| 91av视频在线| 国产主播一区二区三区| 午夜视频成人| 91国产在线播放| 亚洲va久久久噜噜噜久久天堂| 一本久久a久久精品亚洲| eeuss国产一区二区三区| 五月香视频在线观看| 五月天亚洲视频| 精品国偷自产在线| 国产精品夜夜爽| 国产日韩欧美一区二区| 91禁外国网站| 欧美日韩一区二区三区免费| 日韩在线视频免费观看高清中文| 亚洲午夜精品网| 国产综合色精品一区二区三区| 亚洲色图欧美偷拍| 日韩免费电影网站| 国产精品v片在线观看不卡| 中文字幕99| 五月婷婷在线观看| 欧美色资源站| 成人美女视频在线观看| 一本色道88久久加勒比精品| 欧美男gay| 欧美视频免费| 99这里都是精品| 亚洲女人被黑人巨大进入| 国产精品第13页| 一区二区三区精品视频在线观看| 久久久久久久久蜜桃| 欧美久久一二区| 日韩欧美国产免费播放| 亚洲伦在线观看| 在线看福利67194| 欧美成人免费在线| 李宗瑞系列合集久久| 成人满18在线观看网站免费| 手机在线免费观看av| 啄木系列成人av电影| 玖玖玖视频精品| yy6080久久伦理一区二区| 99riav1国产精品视频| 亚洲激情校园春色| 精品国产91久久久久久| 亚洲人成网站色在线观看| 亚洲成人激情视频| 6080午夜不卡| 欧美亚洲国产日本| 日本三级免费网站| 国产黄色免费在线观看| a级国产乱理论片在线观看99| 夜夜爽www精品| 成人免费视频网站入口| 欧美在线免费看| 黄色一级片国产| 麻豆av在线免费看| 久久精品aaaaaa毛片| 欧美狂欢多p性派对| 国产成人精品一区二区三区视频 | 中文字幕一区二区三区在线不卡 | 亚欧黄色av| 台湾色综合娱乐中文网| 久久老女人爱爱| 久久国产欧美日韩精品| 91麻豆精品国产91久久久更新时间 | 强伦女教师2:伦理在线观看| 国产美女性感在线观看懂色av| 欧美有码在线| 亚洲人成伊人成综合网小说| 韩国国内大量揄拍精品视频| 青青在线视频免费|