Hello World
Spiga

让UpdatePanel支持文件上传(4):数据传输与解析机制

2007-04-11 15:02 by 老赵, 7136 visits
摘要:现在就要开始整个项目中最有技巧的部分了。如果我们的组件需要在多种浏览器中正常的运行,我们必须好好考虑一下发送和解析数据的方式。如果我们把这部分的机制完全交给ASP.NET AJAX原有的行为来执行,则会遇到问题。 阅读全文

当心异步刷新后的脚本文件加载

2007-04-09 08:43 by 老赵, 6755 visits
摘要:如果第一次异步刷新在加载脚本时发起了另一个异步刷新,第二次异步刷新可能就会不受我们控制地被中断了。 阅读全文

让UpdatePanel支持文件上传(3):客户端组件

2007-04-06 10:10 by 老赵, 5911 visits
摘要:我们的UpdatePanelIFrameExecutor继承了WebRequestExecutor,因此需要实现许多方法和属性。但是我们事实上不用完整地实现所有的成员,因为客户端的异步刷信机制只会访问其中的一部分。 阅读全文

让UpdatePanel支持文件上传(2):服务器端组件

2007-04-05 11:55 by 老赵, 6726 visits
摘要:我们现在来关注服务器端的组件。目前的主要问题是,我们如何让页面(事实上是ScriptManager控件)认为它接收到的是一个异步的回送?ScriptManager控件会在HTTP请求的Header中查找特定的项,但是我们在向IFrame中POST数据时无法修改Header。所以我们必须使用一个方法来“欺骗”ScriptManager。 阅读全文

让UpdatePanel支持文件上传(1):开始

2007-04-04 12:16 by 老赵, 13405 visits
摘要:UpdatePanel从一开始就无法支持AJAX的文件上传方式。Eilon Lipton写了一篇文章解释了这个问题的原因。文章中提供了两个绕开此问题的方法。不过,我们为什么不使UpdatePanel兼容FileUpload控件(<input type="file" />)呢?如果可以这样,一定能够受需要使用UpdatePanel上传文件的用户欢迎。 阅读全文

UpdatePanel的妙用:Incremental Content

2007-03-29 20:18 by 老赵, 7216 visits
摘要:Incremental Content是我随意取的名字,我有时候会希望,把一些常见的场景,总结出ASP.NET AJAX一些比较固定的使用模式。Incremental Content是我为现在这个“模式”取的名字。这个模式的作用,就是使用UpdatePanel来不断地在页面上增加内容。想到这个使用方式的原因,是因为在中午与Bing对UpdatePanel的一些问题进行了讨论。他谈到,使用UpdatePanel,会造成过多的数据传输上的浪费。例如博客园的回复,事实上要更新的只是新增的内容,而并不需要整个评论区进行刷新。这篇文章谈到的Incremental Content就是为了解决这类问题而产生的。建议dudu在合适的时候修改一下添加评论的代码。:) 阅读全文

SwitchPartManager:在UpdatePanel中灵活地切换不同用户控件

2007-03-29 03:18 by 老赵, 8394 visits
摘要:这是一个很常见的使用场景,尤其是出现了UpdatePanel之后:页面中有一排菜单,点击菜单中的每一项,都会使某个UpdatePanel中出现不同的控制面板。在开发时,往往会将每个的控制面板写成不同的用户控件,点击菜单时事实上就是在UpdatePanel中放入不同的用户控件。如果要开发这样的功能,从理论上来说并不困难,但是如果要能够在控件之间灵活切换,甚至要从控件A的某个操作中切换到控件B,可能就需要增加控件之间的耦合度了。因此,如何控制这样的切换似乎需要细细考虑一下。 阅读全文

UpdatePanel终于可以上传文件了!

2007-03-26 20:23 by 老赵, 32621 visits
摘要:UpdatePanel终于可以上传文件了!我们要做的,只是在页面上添加一个控件而已。 阅读全文

ModalUpdateProgress控件

2007-03-26 02:33 by 老赵, 8271 visits
摘要:在之前的一篇文章中,我谈了如何在页面中“轻量级地”实现了模态的UpdateProgress。这次,我带来了一个“重量级”的实现:ModalUpdateProgress控件。 阅读全文

第17届Jolt Award终于出炉了

2007-03-23 04:13 by 老赵, 7191 visits
摘要:第17届Jolt Award终于出炉了,再这之前,我们再来回顾一下候选选手们。 阅读全文

Tip:Modal UpdateProgress的轻量级解决方案

2007-03-22 08:50 by 老赵, 7622 visits
摘要:又被问了这样一个问题:UpdateProgress如何像ModalPopupExtender那样的效果呢?类似的问题有:如何在UpdatePanel里使用ModalPopupExtender呢?我这次仔细想了想,感觉问题并不那么简单。 阅读全文

Tip:自定义UpdatePanelTrigger

2007-03-19 10:27 by 老赵, 5458 visits
摘要:如果需要的话,您不妨在开发过程中自定义一个UpdatePanel触发器吧。 阅读全文

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

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

谈我的“先做人,再做技术人员,最后做程序员”

2007-02-26 17:08 by 老赵, 17592 visits
摘要:谭老大的一片文章中谈到了我的这句话,不过他认为,做人的难度实在比做程序员高很多。其实我说的这句话,原出自傅雷先生至傅聪《家书》中云:“先做艺术家,再作音乐家,最后才是钢琴家”。历来有大成就的艺术家,其高风亮节也为人所称颂,其传世之作也正所谓“书如其人”。我使用把“程序员”作为一种真正的职业来看待,一个只受过半年一年培训的人,在我看来根本不能称之为程序员,我对于这种泛滥的程序员状态深恶痛绝……真正的... 阅读全文

Sys.StringBuilder里的Bug

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

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

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

UpdatePanel与ASP.NET Page的缓存

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

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

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