摘要:
如果要在客户端指定服务器端Web Service方法所接收的参数类型,就必须在客户端通过“__type”来指定,但是这就暴露了服务器端的具体类型了,这可不太好。现在我们就来看一下应该如何解决这个问题。 阅读全文
随笔分类 - 04. 前端表现
深入Atlas系列:探究序列化与反序列化能力(下) - JavaScriptSerializer
2006-11-10 00:39 by Jeffrey Zhao, 7092 阅读, 收藏, 编辑
摘要:
在ASP.NET AJAX中,客户端的序列化与反序列能力由Sys.Serialization.JavaScriptSerializer类的serialize和deserialize两个静态方法提供。在服务器端,所有的序列化与反序列化能力,包括类型之间的转换,对于开发人员来说都是由JavaScriptSerializer类的几个方法实现的。从前一片文章里我们已经知道了两个辅助的类:JavaScriptTypeResolver和JavaScriptConverter,他们的作用分别是“映射类与类标识”,以及“提供特定类的序列化与反序列化能力”。在某些情况下,我们还是需要使用JavaScriptSerializer类的方法来操作一个类型,例如使用JavaScriptConverter来自定义特定类的序列化或者反序列化,就需要使用JavaScriptSerializer类的方法,因此我们这次就详细看一下这个类的能力。 阅读全文
深入Atlas系列 - 浅析ASP.NET Beta 2中令人疑惑的脚本引入方式
2006-11-08 02:36 by Jeffrey Zhao, 4893 阅读, 收藏, 编辑
摘要:
似乎已经有不少朋友在作了ASP.NET AJAX Beta 1到Beta 2的转移之后遇到了这样的问题:如果使用了ScriptManager引入了自定义的JavaScript脚本文件后会发生JavaScript错误。本文简单讨论了引发这个问题的原因,解决方案以及注意事项。 阅读全文
AJAX培训第一讲:AJAX基础
2006-11-07 20:45 by Jeffrey Zhao, 23985 阅读, 收藏, 编辑
摘要:
经过了5个小时的准备,10多个小时的录制和剪辑,我终于将第一次AJAX培训的内容做完了。录一次讲座真的是一件费神费时的事情,我也深切感受到了天轰穿兄录了数十次讲座有多么不容易。这是我第一次录制讲座,所以经验有些不足,而且对着屏幕一个人傻傻地说话总是不如对着观众说话,在语气上也略显单调。虽然我已经极力yy正在为数十人作讲座的情形,但是似乎效果不甚理想。另外不知道是什么原因,录下来的声音总是不像我的原声,听上去也有些沉闷,请大家多多包涵了。如果大家对于讲座的方式上有什么意见或者建议的话,请回复在这里,您的支持能够让我们的工作越做越好。如果大家对于讲座的内容有任何疑问,请在Q & A专用文章里进行提问,当然如果您有其它任何疑问的话,也能在那里提出,我会尽快为您解答。 阅读全文
深入Atlas系列:探究序列化与反序列化能力(上) - 客户端支持,JavaScriptTypeResolver与JavaScriptConverter
2006-11-06 23:41 by Jeffrey Zhao, 4570 阅读, 收藏, 编辑
摘要:
在ASP.NET AJAX中是使用了JSON作为客户端与服务器端传递对象信息的方式。因此,在ASP.NET AJAX的客户端与服务器端均提供了序列化与反序列化的能力。了解这些内容的使用方法,可以说是使用与扩展ASP.NET AJAX所必须的能力。在这两篇文章里,我们就来看一下ASP.NET AJAX中的序列化与反序列化的能力。 阅读全文
深入Atlas系列:探究Application Services(3) - 自定义客户端Profile Service支持
2006-11-05 21:32 by Jeffrey Zhao, 2838 阅读, 收藏, 编辑
摘要:
如果不能在客户端进行自定义的话,Profile Service的自定义能力还是远远不够的。虽然Profile Service没有提供一种“官方”的客户端自定义支持,不过事实上“自定义”能力“天然”地存在与客户端里。为什么?因为整个客户端是由JavaScript实现的,这种灵活的语言使得我们能够在一定程度上自由地修改客户端的行为。 阅读全文
深入Atlas系列:探究Application Services(2) - 自定义服务器端Profile Service支持
2006-11-04 04:09 by Jeffrey Zhao, 2202 阅读, 收藏, 编辑
摘要:
在上一篇文章中,我们讨论了使用ASP.NET AJAX默认的Profile Service。一般来说,它已经能够迎合大多数应用的需要了。不过除此之外,ASP.NET AJAX还提供了让我们自定义Profile Service的机制。 阅读全文
深入Atlas系列:探究Application Services(1) - Profile Service分析与使用
2006-11-02 23:43 by Jeffrey Zhao, 2632 阅读, 收藏, 编辑
摘要:
ASP.NET AJAX提供了Profile Service,允许开发人员异步地从服务器端访问Profile信息。从RTM开始,客户端的Profile Service还提供了对于Profile Group的支持,因此可以说已经相当成熟了。那么对于Profile Service的细节,是否大家都了解了呢?从ScriptManager的使用上来看,ProfileService是能够扩展的,那么应该如何扩展呢?细心的朋友们应该也发现了,在web.config中也增加了对于Profile Service的配置,那么这些配置应该如何使用呢? 阅读全文
深入Atlas系列:Web Sevices Access in Atlas(8) - RTM中可叹的Web Service Proxy
2006-11-01 17:39 by Jeffrey Zhao, 2188 阅读, 收藏, 编辑
摘要:
使用Web Service Proxy应该是使用ASP.NET AJAX访问Web Service最常用的方法了。服务器端会根据ScriptManager中添加的Service引用而对于Web Service类进行分析,并生成相应的客户端脚本。这样开发人员就能在客户端方便而且直观地访问Web Services方法了。这是ASP.NET中很重要的功能。从官方文档上看来,CTP和RTM似乎在脚本使用这方面没有很大的改变,只要在服务器端将一些CustomAttribute改变一下就可以了。的确没错,在使用方式上只有这点细微改变,但是事实上,从生成脚本本身来说,CTP和RTM的做法大相径庭。 阅读全文
深入Atlas系列:Web Sevices Access in Atlas(7) - RTM中的客户端支持
2006-10-30 16:46 by Jeffrey Zhao, 2899 阅读, 收藏, 编辑
摘要:
在RTM版本中,客户端访问Web Services的基础类库发生了一些改变,并直接影响到了它们的使用方式。对于自己写ASP.NET AJAX组件(例如ExtenderControl)的朋友们来说,了解这部分改变是非常重要的。 阅读全文
深入Atlas系列:客户端网络访问基础结构示例(1) - 编写并使用自定义的WebRequestExecutor
2006-10-30 03:05 by Jeffrey Zhao, 3203 阅读, 收藏, 编辑
摘要:
WebRequestExecutor是ASP.NET AJAX网络访问基础结构的唯一修改点。理论上,我们可以使用自定义的WebRequestExecutor来取代默认的XMLHttpExecutor。我们要做的,其实只是开发一个继承于Sys.Net.WebRequestExecutor类。不过事实上,在实际使用中,Sys.Net.XMLHttpExecutor已经足够用了,真的要自定义,也只需继承这个类即可。就像接下去的例子一样。 阅读全文
深入Atlas系列:客户端网络访问基础结构(下) - WebRequestExecutor和XMLHttpExecutor
2006-10-29 05:10 by Jeffrey Zhao, 2713 阅读, 收藏, 编辑
摘要:
正如前一篇文章所说的那样,WebRequestExecutor是客户端网络访问的基础结构的唯一扩展点,而XMLHttpExecutor是其默认实现。在ASP.NET AJAX中,开发人员能够将自定义的WebRequestExecutor子类设为默认的Executor,也可以为某一个WebRequest指定一个特定的Executor。虽然一般来说XMLHttpExecutor已经足够大多数应用,但是既然ASP.NET AJAX提供了这个功能,我们也根据默认的类进行一下这方面的学习。 阅读全文
AJAX讲座内容提纲(意见征询)
2006-10-29 00:05 by Jeffrey Zhao, 3486 阅读, 收藏, 编辑
摘要:
AJAX作为一个“新生事物”已经被几乎所有人接受了。大家对于AJAX应该也有了一定的学习,因此我总是感觉AJAX的东西容易让人听腻,想做好不容易。下面是我初步定下来的提纲,希望大家能多提一些意见和建议,我会随时更新和细化这些内容。 阅读全文
深入Atlas系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期
2006-10-27 00:50 by Jeffrey Zhao, 3985 阅读, 收藏, 编辑
摘要:
ASP.NET AJAX的许多功能会要求异步地访问服务器端,例如访问Web Services,Authentication/Profile Services(事实上和访问Web Services是相同的机制)和Partial Rendering。在ASP.NET AJAX中,所有的这些访问都是通过一个网络访问的基础结构来完成的,无一例外。 阅读全文
深入Atlas系列:客户端代码编写规则分析与指南
2006-10-25 18:29 by Jeffrey Zhao, 4233 阅读, 收藏, 编辑
摘要:
在RTM版本中,我们可以发现ASP.NET AJAX的客户端脚本引入了许多规则:有方法注释规则,有参数验证规则,而且对于Debug和Release模式下的脚本代码,甚至添加在程序集里的方式,也有相当严禁的规则。如果我们想要编写真正规范和严谨的代码或组件,了解这些规则是非常必要的。有了这些规则,用户在使用Debug模式进行开发和调试时可以得到更好的提示(比如Call Stack),下一版本的Visual Studio“Orcas”也会根据这些规则提供良好的IntelliSense功能。另外,了解这些规则也有利于帮助开发人员阅读和理解客户端代码,这不也是我写“深入Atlas系列”的目的吗?在这片文章里,我将使用ASP.NET AJAX的脚本代码为范例,对开发规则进行一番描述。在某些时候也会对客户端和服务器端的部分代码进行简单的分析。
阅读全文
[意见征集]AJAX培训
2006-10-25 00:30 by Jeffrey Zhao, 3449 阅读, 收藏, 编辑
摘要:
承蒙厚爱,经过培训团队的讨论之后,决定将由Dflying Chen和我负责AJAX部分的培训。初期培训的方式是录制视频讲座并提供下载,等条件成熟后会逐渐转向在线培训的方式。 培训的内容为AJAX,将着重讲述AJAX在ASP.NET中的应用。初期的侧重点将是AJAX基础部分的讲解,并逐渐过渡到微软公司的ASP.NET AJAX框架。虽然会由我们来决定讲座的内容与提纲,但是由于我们的目的是服务于各位... 阅读全文
为ASP.NET AJAX 1.0 Beta补充trace和dump功能
2006-10-24 11:01 by Jeffrey Zhao, 2702 阅读, 收藏, 编辑
摘要:
ASP.NET 1.0 Beta将客户端的Debug能力大大减弱了,window.debug对象目前只剩下了fail和trace功能,这让以客户端开发为中心的开发人员觉得非常不满。本文为RTM增加了CTP的trace和dump能力。 阅读全文
在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
2006-10-23 17:46 by Jeffrey Zhao, 4113 阅读, 收藏, 编辑
摘要:
说明了在虚拟主机中部署ASP.NET AJAX 1.0 Beta的程序集的方法,并提供模版下载。 阅读全文
从Atlas到Microsoft ASP.NET AJAX(9) - Using the Value-add Scripts
2006-10-23 02:48 by Jeffrey Zhao, 4025 阅读, 收藏, 编辑
摘要:
Discussed the usage of the Value-add Scripts 阅读全文
从Atlas到Microsoft ASP.NET AJAX(8) - UpdatePanel Control
2006-10-22 21:17 by Jeffrey Zhao, 4647 阅读, 收藏, 编辑
摘要:
对于UpdatePanel控件的使用是ASP.NET AJAX Extentions的重要部分。我们收到了关于它和UpdateProgress控件的大量用户反馈。为了增强部分刷新的功能我们作了多处修改,并加强了UpdatePanel对于控件的兼容性。我们也为异步PoskBack实现了一个丰富的事件模型,这样您就可以在客户端响应它们并对页面更新提供额外操作了。 阅读全文