Hello World
Spiga

分类:前端表现

MSDN Webcast“深入浅出ASP.NET AJAX系列”预告及反馈

2007-03-12 16:54 by 老赵, 38630 visits
摘要:我为MSDN Webcast准备了一个《深入浅出ASP.NET AJAX系列》,共有十多次课程,希望能够为大家系统的讲解一下如何使用ASP.NET AJAX框架进行开发。在这个系列中,我会尽可能的从“使用”入手,然后对于ASP.NET AJAX框架进行一定程度的深入讲解,使大家能够更自由地使用ASP.NET AJAX框架,并且能够自己着手解决一些使用中的问题。简单地说,这个系列中最着重的就是尽可能的“授人以渔”。希望大家对我的这个系列多提意见和建议,并回复在这篇文章中,我需要您的反馈来改进我的表现。 阅读全文

Tip:“Form_Load时添加的AsyncPostBackTrigger失效”问题分析及解决方案

2007-03-08 04:24 by 老赵, 6962 visits
摘要:最近时间很少,而且总觉得没有什么题材可写。今天无意中看到了Aldebaran's Home提出的一个疑问,为什么在Form_Load方法中动态添加的AsyncPostBackTrigger会在经过一次异步刷新后就失效,导致第二次提交变成了普通的提交。我尝试了一下,果不其然。对ASP.NET AJAX程序集源码的分析之后,我得出了问题原因和解决方案,在这里和大家共享一下。 阅读全文

Sys.StringBuilder里的Bug

2007-02-13 02:35 by 老赵, 6490 visits
摘要:Sys.StringBuilder出现了这样的Bug,他们一定没有做好Code Review。 阅读全文

鸡肋烹制出的美味——真正可调试的ASP.NET AJAX

2007-02-06 07:23 by 老赵, 6797 visits
摘要:ASP.NET AJAX的源代码的确发布了,并且提供了pdb文件,也就是说,我们现在可以用它来调试了。不知道各位朋友们有没有真的用它跟踪到代码中去,至少我用下来之后非常的不满意。官方给出了源代码,我们为什么不设法把它恢复成C#工程呢?于是我新建了一个C# Class Library,把源代码复制到工程中去。然后通过比较编译错误、运行错误以及使用.NET Reflector查看ASP.NET AJAX程序集,一点点补充丢失的资源和代码,费了九牛二虎之力总算比较完美地恢复了ASP.NET AJAX的程序集。 阅读全文

挣脱浏览器的束缚(7) - CrossSubDomainExecutor

2007-02-05 02:31 by 老赵, 6042 visits
摘要:在上次的文章中,我们已经提到了一种能够跨子域名进行AJAX请求的方法。我们现在就来实现一个对开发人员透明的实现,它会自动判断这个请求是否是跨子域名,如果不是,则使用传统的方法发出AJAX请求,反之则使用我们的方式。 阅读全文

UpdatePanel与ASP.NET Page的缓存

2007-02-04 11:18 by 老赵, 7636 visits
摘要:UpdatePanel的功能大家一定都非常熟悉了。无论是官方还是社区里热心推广ASP.NET AJAX的朋友,都会对于UpdatePanel的使用进行大量说明与展示。但是在这些简单的的示例似乎都遗漏了一个非常重要的问题,这个问题会直接导致UpdatePanel无法正确使用。  这个问题就是ASP.NET Page的缓存。 阅读全文

挣脱浏览器的束缚(6) - AJAX也跨域名

2007-02-02 02:39 by 老赵, 9155 visits
摘要:事情的经过是这样的,还是那个个人门户网站。其中有个功能就是RSS订阅,每个订阅作为一个模块出现在页面上。如果一个用户订阅了比较多的RSS,则在打开页面时所有的RSS模块就会开始加载,这时候可能就会需要十几秒甚至更长的时间才能加载完毕。这时,如果用户需要作别的AJAX操作——比如保存页面设置——那么长时间的等待就不可避免了,谁让浏览器对于相同域名只能同时存在两个连接呢?不过这可不是一个好的用户体验,那么我们需要怎么做呢? 阅读全文

编写组件,使用JavaScript更新UpdatePanel

2007-01-31 01:12 by 老赵, 9214 visits
摘要:如果需要使用JavaScript更新UpdatePanel,以前往往会使用JavaScript来模拟Trigger的触发。我们往往会将一个按钮设为某个UpdatePanel的Trigger,然后在客户端模拟它的点击,使UpdatePanel进行更新。但是这样的做法实在太麻烦了些,也相当的不优雅。现在我们就来编写一个组件解决这个问题。 阅读全文

挣脱浏览器的束缚(5) - 哭笑不得的IE Bug

2007-01-27 03:27 by 老赵, 7835 visits
摘要:还记得《ASP.NET AJAX Under the Hood Secrets》吗?这是我在自己的Blog上推荐过的唯一一篇文章(不过更可能是一时兴起)。在这片文章里,Omar Al Zabir提出了他在使用ASP.NET AJAX中的一些经验。其中提到的一点就是:Browsers do not respond when more than two calls are in queue。简单的说,就是在IE中,如果同时建立了超过2两个连接在“连接状态”中,但是没有连接成功(连接成功之后就没有问题了,即使在传输数据),浏览器会停止对其他操作的响应,例如点击超级链接进行页面跳转,直到除了正在尝试的两个连接就没有其他连接时,浏览器才会重新响应用户操作。出现这个问题一般需要3个条件: 同时建立太多连接,例如一个门户上有许多个模块,它们在同时请求服务器端数据。 响应比较慢,从浏览器发起连接,到服务器端响应连接,所花的时间比较长。 使用IE浏览器,无论IE6还是IE7都会这个问题,而FireFox则一切正常。 在IE7里居然还有这个bug,真是令 阅读全文

挣脱浏览器的束缚(4) - 王道!动态添加script元素

2007-01-25 01:19 by 老赵, 8533 visits
摘要:我们已经知道,脚本文件的并行下载能够提高页面的加载速度。但是目前还有一个急需解决的问题,那就是对于FireFox浏览器的优化。在我们之前使用的优化方法,无论是简单实用的document.write还是食之无味的defer属性,FireFox浏览器都对此置若罔闻。不过FireFox也不是绝对地“冥顽不灵”,开发人员还是有方法对它进行优化的。 阅读全文

ASP.NET AJAX正式版带来的Validator问题及解决方案

2007-01-24 15:07 by 老赵, 5889 visits
摘要:升级到ASP.NET AJAX正式版之后,一般来说重新编译不会有什么问题,不用做什么修改,这是个好消息。不过在执行时就会出现问题了。因为在正式版的程序集中,删除了兼容UpdatePanel的Validator那些类,因此TagMapping时就无法找到需要的类了。 阅读全文

ScriptManager的ResolveScriptReference事件的重要作用

2007-01-23 16:10 by 老赵, 4088 visits
摘要:合理使用,支撑一个专业的详细的脚本库也不是件困难的事情。 阅读全文

挣脱浏览器的束缚(3) - 两个连接还不够“并行”

2007-01-22 14:42 by 老赵, 7428 visits
摘要:谈谈优化难度:比较document.write与defer、突破两个连接的限制 阅读全文

挣脱浏览器的束缚(2) - 别让脚本引入坏了事

2007-01-20 01:25 by 老赵, 7239 visits
摘要:现在哪里还找得到不引入JavaScript脚本文件的Web应用?使用脚本文件的好处多多,其中最重要的可能就是提供缓存能力了。使用脚本文件之后再加上缓存,可以大大降低数据传输量,提高页面打开的速度。不过脚本文件的引入也不是简单得不值一提,我们完全有能力来优化它。 阅读全文

挣脱浏览器的束缚(1) - 前言

2007-01-18 17:08 by 老赵, 8479 visits
摘要:最近在为某个人门户站点作优化。   从传统意义上来说,这个站点的各方面都属中规中矩。不过作为一个以客户端为中心的Web应用,其性能,尤其是它的感知性能(Perceived Performance),经常会严重受制于浏览器本身。一个没有对客户端数据访问模型经过精心设计和优化的应用,其导致的结果往往就是无法充分利用带宽,让用户等待的时间变长。换句话说,其Perceived Performance需要进一步的提高。   突破浏览器限制,充分利用带宽,提高性能,尤其是Perceived Performance等等,就是我这次优化的目的。在接下来的几篇文章里,我将以数据说话,探讨浏览器的限制,并从多个方面来谈一下这次优化的各种方式。由于该个人门户使用了ASP.NET AJAX进行开发,因此我也将会给出一些基于ASP.NET AJAX的解决方案,希望会有一定参考价值,对朋友们能有所帮助。 阅读全文

Tip:使用Extender的ResolveControlID事件

2006-12-31 03:42 by 老赵, 4450 visits
摘要:不知道大家在使用ASP.NET AJAX Control Toolkit里的各个Extender控件时,有没有接触过ResolveControlID事件?这个事件在官方也只用了很少的笔墨来描述。的确,这个事件不太常用,看看ASP.NET AJAX的演示站点,根本没有使用过ResolveControlID事件。本文简单描述了ResolveControlID事件的作用以及使用方式。 阅读全文

不复杂,但是很有趣的JavaScript代码

2006-12-28 13:38 by 老赵, 4978 visits
摘要:找个图片比较多的页面,把下面的代码粘贴到地址栏按回车就可以看到效果。:)**************************javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function... 阅读全文

可能是最漂亮的非静态Page Method解决方案

2006-12-28 13:38 by 老赵, 7866 visits
摘要:在我前一片文章《浅谈实例Page Method到静态Page Method的移植》中,我提到了两种属于work around的解决方案,的确有效,如果可以的话我也建议尽可能地改成那样,尤其是第一种“在客户端获得参数信息”的做法,性能很高,值得推荐。不过从“技术”方面来考虑,这两个做法都不如现在这种来得漂亮。我尝试着实现了一个HttpModule,只要使用了它就能轻松使用原来的“非静态Page Method”了,这几乎完全解决了ASP.NET AJAX中无法使用非静态Page Method的问题,CTP时期程序的移植也变得再容易不过。 阅读全文

UpdatePanel与UrlRewrite

2006-12-27 00:42 by 老赵, 9372 visits
摘要:今天被问及一个UpdatePanel与Url Rewrite结合时的问题,研究之后得出解决方案,在此和大家分享一下。 阅读全文

浅谈实例Page Method到静态Page Method的移植

2006-12-26 10:48 by 老赵, 4936 visits
摘要:最近被问及Page Method的问题比较多,主要还是如何从Atlas CTP中的非静态Page Method转向Beta或RC中的静态Page Method时所遇到的问题。现在我来谈一下在这方面的一些看法,也希望大家能和我一起探讨一下。 阅读全文
使用Live Messenger联系我