这一篇是《本周ASP.NET英文技术文章推荐》系列的第一篇,在这个系列中,我将介绍5-10篇比较有价值的、本周发布的、与ASP.NET相关的英文技术文章,帮助各位朋友从良莠不齐的大量文章中挑出一些我认为非常有价值阅读的,在进行一段简要的介绍之后推荐给大家。希望这个系列文章可以让朋友们方便地把握住当前ASP.NET技术的发展动向,了解ASP.NET开发中遇到的技巧和诀窍,并顺便提高一下英文能力。
限于个人能力与精力,这些文章或许并不能保证是最好的,其中的介绍也难免有与原作者本意有所偏差,甚至相悖,希望各位朋友能够带着批判的眼光看这些介绍以及文章,并提出批评意见。
[1] Ten Essential Tools: Visual Studio Add-Ins Every Developer Should Download Now(10个必需工具:每个开发者都要立即下载的Visual Studio插件)
MSDN杂志中该篇文章的作者介绍了10个非常好的Visual Studio小插件,他们分别应用在各个不同的领域,均可以大大地提高我们开发者的开发效率,这也是我强烈推荐的原因。其中比较有意思的是GhostDoc,可以自动分析并根据方法名生成其注释,例如对于这个方法:
{
}
它会生成这样的注释,非常智能:
/// Saves the person.
/// </summary>
/// <param name="person">Person.</param>
private void SavePerson(Person person)
{
}
[2] Tip/Trick: Cool UI Templating Technique to use with ASP.NET AJAX for non-UpdatePanel scenarios(Tip/Trick:无UpdatePanel时与ASP.NET AJAX配合使用的很酷的模板技术)
在Scott的这篇文章中,它使用了“纯粹”的客户端ASP.NET AJAX脚本库,而不是我们偷懒时选择的UpdatePanel来实现了页面中局部更新的功能。
这一点其实在ASP.NET AJAX中非常容易实现,但郁闷之处在于:服务器端生成将要返回的HTML代码时,一般需要我们开发者手工构造出这个包含着大量HTML标签的字符串,例如:
public string GetMessage(string name) {
return "Hello <strong>" + name + "</strong>, the time here is: " + DateTime.Now.ToShortTimeString();
}
这样既容易出错,又不易于编写,特别是当HTML内容很多的时候。于是Scott采用了另外一种方法——他将这些包含HTML标签的文字写到了ASCX文件中(这样编写的过程就非常容易了,就和我们熟悉的开发过程完全一样),然后在后台代码中通过一个非常巧妙的ViewManager组件将其呈现(Render)成一个包含最终结果的字符串,直接返回给客户端:
public string GetCustomersByCountry(string country)
{
CustomerCollection customers = DataContext.GetCustomersByCountry(country);
if (customers.Count > 0)
return ViewManager.RenderView("customers.ascx", customers);
else
return ViewManager.RenderView("nocustomersfound.ascx");
}
在文中还提供了ViewManager的下载地址,这确实是一篇对AJAX开发者而言非常有用的文章。
[3] View Source Editor The easy way to change the editor in Internet Explorer(View Source Editor:轻松改变IE默认的“查看源文件”所用的编辑器)
我们都知道,IE中默认的“查看源文件”所用的编辑器为记事本,这个功能显然不能满足开发者的需要,毕竟记事本真的太简单了……本文介绍的这个工具则可以容易地改变IE中这个默认的设定,例如将其改为功能更加丰富的EditPlus,甚至Visual Studio……
[4] Atlas Control Toolkit -> AJAX Control Toolkit Migration Guide(从Atlas Control Toolkit到AJAX Control Toolkit的迁移指南)
无论对于使用者还是对于控件开发者,Atlas的Control Extender在20号发布的Beta 1版本中均有了非常大的变化,Shawn Burke的这篇文章详细描述了Control Extender的开发者在迁移从前的Control Extender到最新Beta 1版时所需的步骤以及其中的注意事项。如果您曾经基于CTP版本的Atlas开发过Control Extender,那么这篇文章将是你将其迁移到Beta 1版本过程中的一个不可缺少的得力助手。
[5] Working with Cross Page Posting Using ASP.NET 2.0(使用ASP.NET 2.0中的跨页面提交)
跨页面提交(Cross Page Post)是ASP.NET 2.0引入的一个非常有用的新特性,SANJIT SIL的这篇短小精悍的文章较为详细描述了其使用方法,绝对堪称入门的经典。
[6] CSS Friendly ASP.NET 2.0 Control Adapters Beta 3 Now Available(CSS Friendly ASP.NET 2.0 Control Adapters Beta 3提供下载)
CSS Friendly ASP.NET 2.0 Control Adapters这个东西想必我们都听说过,这是微软公司对其ASP.NET 2.0原有设计中忽视Web标准的一个补救措施,旨在提供一系列的自定义适配器(Adapter),让ASP.NET 2.0页面生成出符合Web标准的HTML代码,最主要的就是去掉了好多用于布局的<table>标签。
现在这个东西推出了最新的Beta 3版本,也基本上趋于稳定。注意Web标准的页面开发人员应该及时安装并学习其使用方式,让我们的ASP.NET页面不再被Web标准所鄙视。
[7] ASP.NET Supervising Controller (Model View Presenter) From Schematic To Unit Tests to Code(ASP.NET中的Supervising Controller (Model View Presenter)模式——从图解到单元测试再到代码)
Martin Fowler这个设计模式巨无霸前不久将Model-View-Presenter分成了两个相对独立的模式:Supervising Controller和Passive View。这篇文章就介绍了如何在ASP.NET中使用Supervising Controller模式以及其带来的好处,同样极为短小精悍但清晰易懂。下面的评论也非常有价值。
[8] First look and few thoughts on the Microsoft AJAX Beta(对ASP.NET AJAX Beta的第一眼印象和一些想法)
ASP.NET AJAX最近如日中天,Rick Strahl(微软MVP)的这篇文章对20号刚刚新鲜出炉的这个突然间变得谁都不认识了的新的Atlas Beta 1作了一番毫不留情的批判!下面的讨论也沸沸扬扬,既有Atlas开发组的成员,又有同样被“忽悠”了的开发者。
没过几天,Rick Strahl又发表了一篇More MS Ajax Pain(ASP.NET AJAX Beta的更多痛苦),其中揭露出了很多Atlas Beta 1中的低级Bug以及不可思议的设计方式,下面同样讨论得不可开交。不单单是这位老兄,我们所熟悉的意大利知名ASP.NET技术作家Dino Esposito也在其Blog上抱怨了一番——Don't call it Beta 1(别叫它Beta 1),因为Dino的关于Atlas的新书也马上即将出版,所以估计他和我一样也备受打击(Atlas新版本的发布对我而言无疑是一个晴天霹雳),及其郁闷之下才发此牢骚……真可谓是世事难料啊。