我爱Aspx >> C#.Net >> 微软Asp.net Ajax 1.0的AutoComplete控件的几处修正和增强随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();
Ҷƪл˵?
绑定Enum到ASP.NET数据绑定控件的..[07-30]
ASP开发中存储过程应用全接触[07-30]
用ASP.NET 2.0 FormView控件控制..[07-30]
ASP.NET 2.0高级数据处理之数据绑..[07-30]
ASP.NET 2.0 里输出文本格式流[07-30]
Asp.net生成htm静态文件的两种途..[07-30]
如何实现Asp与Asp.Net共享Sessio..[07-30]
Ajax实现分页查询[07-30]
一个无刷新效果定时自动更新页面..[07-30]
ASP.NET2.0的控件状态和视图状态..[07-30]
绑定Enum到ASP.NET数据绑定控件的..[07-30]
妙用Photoshop差值模式绘制逼真音..[07-30]
Photoshop调色:让美女皮肤更红润..[07-30]
在Vista工具条上添加Google Gadg..[07-30]
让火狐看上去更像一个Vista应用程..[07-30]
Excel 2007中撤消、恢复或重复操..[07-30]
无线网络安全 保卫在空气中传播的..[07-30]
把被盗QQ里丢失的QQ好友们全找回..[07-30]
Photoshop简单美化视频照片(男孩..[07-30]
用Photoshop把照片处理成剪纸[07-30]