AjaxControlToolkit中的ListSearch支持中文

使用ListSearchExtender时,发现输入中文没有显示,分析了一上ListSearchBehavior.js,发现_isNormalChar函数上有一个e.charCode>6000,而汉字的编码范围是19968~40869,这个函数把如果是汉字,就返回false,即不提示显示,将代码改这如下即可正常显示汉字了:

  _isNormalChar : function(e) {
        /// <summary>
        /// Returns true if the specified charCode is a key rather than a normal (displayable) character
        /// </summary>
        /// <param name="e" type="Sys.UI.DomEvent">
        /// Event info
        /// </param>
        /// <returns type="Boolean" />

        // Walking through Sys.UI.Keys won't work -- Ampersand is code 38 which matches
        if (Sys.Browser.agent == Sys.Browser.Firefox && e.rawEvent.keyCode) {
            return false;
        }

        if (Sys.Browser.agent == Sys.Browser.Opera && e.rawEvent.which == 0) {
            return false;
        }

        //if (e.charCode && (e.charCode < Sys.UI.Key.space || e.charCode > 6000)) {//修改前的
        if (e.charCode && (e.charCode < Sys.UI.Key.space)) {//修改后的
            return false;
        }
        return true;
    },

原文地址:https://www.cnblogs.com/hhq80/p/1113048.html