亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

微軟Asp.net Ajax 1.0的AutoComplete控件的幾處修正和增強

2019-11-18 16:33:07
字體:
來源:轉載
供稿:網友

  隨asp.net Ajax 1.0發布的AjaxControlToolkit系列控件給開發人員帶來了很多便利,但其中很多控件似乎并沒有我們想像的那么完美。最近對這里面的AutoComplete控件用得較多,發現了它的幾個不足或錯誤之處:
  1.在某些情況下會出現“two components with the same id”的錯誤;
  2.容易導致在IE中出現“無法打開Internet站點,…,已終止操作”的問題;
  3.即使用戶輸入了很多的字符,即使已經沒有相匹配的結果,它仍然會調用服務端方法,試圖獲取相匹配的值,白白增加了服務器的負擔;
  4.自動完成列表的樣式不太好看;
  5.服務端方法的簽名必須是:string[] GetCompletionList(string PRefixText, int count),無法從客戶端取得其它需要的數據。這一點在一個頁面中有多個需要從不同數據源獲取數據的AutoComplete控件時尤其致命。

  要解決這些問題,首先需要知道怎樣來修改相應的代碼并使之在自己的應用中生效。值得慶幸的是,AjaxControlToolkit系列控件是開源的,所以我們可以根據自己的需要來盡情修改。用VS2005打開AjaxControlToolkit解決方案,打開AutoComplete文件夾中的AutoCompleteBehavior.js文件,修改并重新編譯后,將生成的AjaxControlToolkit.dll文件更新到自己的項目引用中,即可應用我們優化和增強后的AutoComplete控件了。

  那么,具體需要修改哪些代碼呢?
  針對第一個問題,需要在AjaxControlToolkit.AutoCompleteBehavior.callBaseMethod(this, 'dispose');這一行之前加上:


        if (this._popupBehavior) {
            this._popupBehavior.dispose();
            this._popupBehavior = null;
        }
  第二個問題,要將document.body.appendChild(this._completionListElement);這一行修改為            element.parentNode.appendChild(this._completionListElement);

  第三個問題,需要在_onTimerTick方法中,為if (text.trim().length < this._minimumPrefixLength) 這個判斷增加一個條件,變成:if (text.trim().length < this._minimumPrefixLength || text.trim().length > 10) ,這就使得,當用戶的輸入超過10個字符時,就不必向服務端調用讀取匹配值的方法了。

  第四個問題,要調整自動完成列表的樣式,可以直接修改initializeCompletionList方法中的以下代碼:


        completionListStyle.backgroundColor = this._textBackground;
        completionListStyle.color = this._textColor;
        completionListStyle.border = 'solid 1px buttonshadow';
        completionListStyle.cursor = 'default';
        completionListStyle.unselectable = 'unselectable';
        completionListStyle.overflow = 'hidden';

,或者刪除這幾行,并添加:element.className = "completionList";然后在頁面上添加樣式類“completionList”的定義即可;

  要解決最后一個問題,應該在 { prefixText : this._currentPrefix, count: this._completionSetCount}這一行中增加一個發給服務器的參數,變為:
  { prefixText : this._currentPrefix, count: this._completionSetCount , srcId: this.get_element().getAttribute("srcid") }
  從而,服務端的讀取自動完成列表項的方法簽名就可以寫成:string[] GetCompletionList(string prefixText, int count ,string srcId)。這意味著,我們可以為需要應用自動完成功能的文本框預先設置一個用于標識其數據來源的標識字符串,C#代碼如:tb.Attributes.Add("srcid", "xxx"); 然后,在GetCompletionList方法中就可以根據客戶端傳過來的這個參數值來有針對性地讀取數據了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线日韩在线| 国产欧美在线看| 最近2019中文字幕大全第二页| 精品福利樱桃av导航| 欧美另类99xxxxx| 日韩在线观看免费高清完整版| 97免费在线视频| 国产日韩在线精品av| 国产精品一区二区久久久| 欧美一区二区三区……| 亚洲精品美女免费| 日韩激情视频在线| 亚洲全黄一级网站| 国产a∨精品一区二区三区不卡| 91日本在线观看| 超碰91人人草人人干| 欧美激情一区二区久久久| 日产精品久久久一区二区福利| 97视频免费观看| 日韩av有码在线| 91九色视频导航| 国产精品天天狠天天看| 亚洲国产私拍精品国模在线观看| 欧美日韩亚洲系列| 亚洲少妇中文在线| 国产精品高精视频免费| 欧美大肥婆大肥bbbbb| 黑人极品videos精品欧美裸| xxxxx成人.com| 亚洲人精品午夜在线观看| 成人av色在线观看| 日韩国产一区三区| 精品国产欧美一区二区五十路| 亚洲福利视频二区| 日本19禁啪啪免费观看www| 亚洲free性xxxx护士hd| 国产精品电影网| 91av在线免费观看视频| 欧美日本高清一区| 国产视频欧美视频| 国产视频一区在线| 最近日韩中文字幕中文| 国产精品视频一区二区高潮| 一本一本久久a久久精品综合小说| 久久久久久久久久亚洲| 欧美性xxxx极品hd满灌| 日本免费一区二区三区视频观看| 欧美国产日韩一区二区三区| 欧美精品做受xxx性少妇| 欧美日韩福利在线观看| 成人欧美一区二区三区黑人孕妇| 欧美电影院免费观看| 欧美资源在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲欧美一区二区三区在线| 亚洲亚裔videos黑人hd| 国产精品久久久久久久午夜| 久久久女人电视剧免费播放下载| 亚洲第一页在线| 国产精品一区二区久久| 久久视频在线播放| 国产98色在线| 亚洲电影天堂av| 国产福利精品在线| 成人av电影天堂| 日韩有码在线视频| 九九久久综合网站| 久久久久久香蕉网| 日韩在线观看成人| 亚洲老司机av| 岛国av一区二区三区| 色青青草原桃花久久综合| 亚洲国产另类久久精品| 在线观看久久久久久| 久久久精品网站| 亚洲bt欧美bt日本bt| 日本精品视频在线播放| 影音先锋欧美精品| 亚洲香蕉成人av网站在线观看| 国产精品一二三在线| 国产精品国产自产拍高清av水多| 裸体女人亚洲精品一区| 91精品久久久久久久| 91久久精品美女高潮| 久久久噜噜噜久久| 欧美国产日韩二区| 久久久噜噜噜久噜久久| 欧美老妇交乱视频| 亚洲第一男人av| 久久精品亚洲国产| 精品国产乱码久久久久久婷婷| 中文字幕亚洲一区| 国产精品日韩精品| 欧美中在线观看| 亚洲无av在线中文字幕| 欧洲美女免费图片一区| 欧美激情精品久久久久久黑人| 亚洲国产成人91精品| 欧美亚洲国产另类| 精品香蕉一区二区三区| 久久中文字幕视频| 亚洲综合大片69999| 中文字幕一精品亚洲无线一区| 91色视频在线观看| 欧美成人手机在线| 91色在线视频| 日韩中文字幕在线观看| 韩国三级日本三级少妇99| 国模叶桐国产精品一区| 亚洲欧美国产高清va在线播| 日韩欧美在线视频观看| 亚洲在线免费观看| 精品视频在线播放色网色视频| 亚洲视频在线免费观看| 亚洲丝袜一区在线| 久久久精品欧美| 日韩中文字幕亚洲| 日韩精品一二三四区| 亚洲福利在线播放| 欧美三级欧美成人高清www| 欧美性理论片在线观看片免费| 欧美电影在线观看| 日韩成人在线视频观看| 成人免费观看a| 国产热re99久久6国产精品| 久久久久亚洲精品| 亚洲国产精品免费| 亚洲精品国产精品国产自| 日韩中文在线视频| 日韩在线视频线视频免费网站| 欧美成人精品h版在线观看| 亚洲国产毛片完整版| 国产亚洲一级高清| 国产做受69高潮| 久久夜色精品国产| 91最新在线免费观看| 中文字幕日韩电影| 国产精品69精品一区二区三区| 色噜噜国产精品视频一区二区| 亚洲精品久久久久久久久久久久| 永久免费精品影视网站| 亚洲精品资源美女情侣酒店| 国产精品偷伦视频免费观看国产| 亚洲成人性视频| 4388成人网| 国产成人一区三区| 成人免费视频网址| 国产精品爽爽ⅴa在线观看| 久久在线视频在线| 奇米4444一区二区三区| 亚洲a∨日韩av高清在线观看| 日本欧美爱爱爱| 亚洲xxx自由成熟| 久久久久日韩精品久久久男男| 精品久久久久久亚洲国产300| 欧美性猛交xxxxx水多| 高清一区二区三区日本久| 国产欧美精品在线播放| 国产精品美女主播在线观看纯欲| 中文字幕亚洲欧美日韩在线不卡| 日本欧美在线视频| 亚洲性日韩精品一区二区| 国产精品第一第二| 国模gogo一区二区大胆私拍|