惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
博客园 - 三生石上(FineUI控件)
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
B
Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
U
Unit 42
腾讯CDC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
H
Help Net Security
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 热门话题
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Heimdal Security Blog
博客园 - 聂微东
S
Securelist
大猫的无限游戏
大猫的无限游戏
Cloudbric
Cloudbric
Cisco Talos Blog
Cisco Talos Blog

博客园 - 憋大招的cat

Java实现基于SOAP的XML文档网络传输及远程过程调用(RPC)-----(转) Windows mobile应用程序开发环境搭建(C++) AJAX初探-XMLHTTP与服务端交互的小示例修正 SQL Server维护中Insert语句的生成工具 整理C# 二进制,十进制,十六进制 互转附加(BCC异或校验法) 转一个数据导入导出功能的帖子(转链) 通过控制按键来控制编辑框控件的小BUG - 憋大招的cat - 博客园 近期项目知识点总结之AJAX实用联动实例-(文1) vs2005中利用自动生成数据集、ObjectDataSource、Gridview进行组合查询 SQL Server 2005 中附加只有mdf文件的数据库(修复置疑的数据库) 防止利用Xp_cmdshell进行漏洞攻击 SQL复制数据的强大命令集-BCP知识点之二 SQL复制数据的强大命令集-BCP知识点之一 Windows XP Home Edition安裝 IIS 的方法 收缩数据库出现的问题与解决方案 理解杀毒软件技术的意义 脱壳、虚拟、启发式介绍 WebForm中弹出页面关闭的同时返回值 c#.NET和VB.NET语法的比较 本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的
AutoCompleteExtender控件使用示例以及BUG
憋大招的cat · 2007-10-26 · via 博客园 - 憋大招的cat

功能简介:最近在做个凭证单子,里面的一些编辑框是需要联想功能的。
功能实现:在AJAX功能的吸引下,我GOOGLE到了MS开发的ASP.NET 2.0 AJAX Extensions 1.0是基于.NET FRAMEWORK 2.0开发的,正合我意,下面利用AutoCompleteExtender控件来实现我需要的功能
部分主要代码如下:
HTML界面代码

    <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    
</cc1:ToolkitScriptManager>
    
<div>
        
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        
&nbsp;&nbsp;
        
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="1" 
                CompletionInterval
="300"
                EnableCaching
="true"
                CompletionSetCount
="10"
 BehaviorID
="AutoCompleteEx" runat="server" ServiceMethod="GetCompletionList"
            UseContextKey
="True" TargetControlID="TextBox1">
                
<Animations>
                    
<OnShow>
                        
<Sequence>
                            
                            
<OpacityAction Opacity="0" />
                            
<HideAction Visible="true" />
                            
<ScriptAction Script="
                                // Cache the size and setup the initial size
                                var behavior = $find('AutoCompleteEx');
                                if (!behavior._height) {
                                    var target = behavior.get_completionList();
                                    behavior._height = target.offsetHeight - 2;
                                    target.style.height = '0px';
                                }"
 />
                                <Parallel Duration=".1">
                                
<FadeIn />
                                
<Length PropertyKey="height" StartValue="0" EndValueScript="$find('AutoCompleteEx')._height" />
                            
</Parallel>
                        
</Sequence>
                    
</OnShow>
                    
<OnHide>
                        
<Parallel Duration=".1">
                            
<FadeOut />
                            
<Length PropertyKey="height" StartValueScript="$find('AutoCompleteEx')._height" EndValue="0" />
                        
</Parallel>
                    
</OnHide></Animations>
        
</cc1:AutoCompleteExtender>
        
<script type="text/javascript">
            
// Work around browser behavior of "auto-submitting" simple forms
            var frm = document.getElementById("aspnetForm");
            
if (frm) {
                frm.onsubmit 
= function() { return false; };
            }
        
</script>
    
<input type="submit" style="display:none;" />
    
</div>

验证代码(CS)如下:

    public string[] GetAutoComplete(string prefixText, int count)
    {
        
string xm = "";
        
string fixxm = "";
        
if (count == 0)
        {
            count 
= 10;
        }
if (prefixText.Equals(""))
        {
            
return new string[0];
        }

        List

<string> items = new List<string>(count);

        ClassLibrary.SzsData.szsDataTable sd 

= new ClassLibrary.SzsData.szsDataTable();
        ClassLibrary.SzsDataTableAdapters.szsTableAdapter sta 
= new ClassLibrary.SzsDataTableAdapters.szsTableAdapter();
        sd 
= sta.GetData();
        
int rCount = 0;
        
for (int i = 0; i < sd.Rows.Count; i++)
        {
            xm 
= sd.Rows[i]["姓名"].ToString();
            
if (xm.Length > prefixText.Length)
            {
                fixxm 
= xm.Remove(prefixText.Length, xm.Length - prefixText.Length);
                
if (fixxm == prefixText)
                {
                    items.Add(sd.Rows[i][
"姓名"].ToString());
                    rCount
++;
                    
if (rCount >= 10)
                    {
                        
break;
                    }
                }
            }
        }

        return items.ToArray();
    }

控件存在的BUG:如果需要返回数字类型的,结果会在编辑框下显示UNDEFINE,也许是JAVASCRIPT中的单引出现的问题,所以例如下面的方法:

    public string[] GetStringLength(string prefixText)
    {
        
string[] items = new string[10];
        items[
0= prefixText.Length.ToString();
        
return items;
    }

则需修改为以下:

    public string[] GetStringLength(string prefixText)
    {
        
string[] items = new string[10];
        items[
0= "'"+prefixText.Length.ToString()+"'";
        
return items;
    }

希望下次MS在发布该组控件同时能解决此BUG。