本周ASP.NET英文技术文章推荐[05/20 - 06/02]

摘要

本期共有11篇文章(毕竟是两周的内容,上周没来得及):

  1. Ajax和SilverLight应用程序的搜索引擎优化
  2. 最完整的Ajax类库、框架和工具包列表
  3. 5月31号列表:ASP.NET、ASP.NET AJAX、Visual Studio和.NET
  4. 在ASP.NET下载文件时直接弹出“另存为”对话框
  5. Script#:过去、现在和将来……
  6. 使用JavaScript为GridView行添加淡入淡出效果
  7. 创建SqlParameter的最佳实践
  8. ASP.NET AJAX客户端框架事件:为自定义类暴露事件
  9. BlogEngine.NET 1.0发布
  10. 如何在IIS7 Beta 3上安装FastCGI和PHP
  11. __doPostBack和浏览器的“回退”按钮

 

[1] SEO for Ajax and Silverlight Applications (Ajax和SilverLight应用程序的搜索引擎优化)

搜索引擎对于当代网站的重要性不言而喻,因此各个网站在搜索引擎优化(SEO)方面都下了很大的功夫。去年我也特意写过一篇关于博客园网站搜索引擎优化的建议文章(《针对博客园Blog的SEO(Search Engine Optimization – 搜索引擎优化)》)。不过很遗憾的是,Ajax和SilverLight(包括Flash)应用程序在搜索引擎优化方面却存在着很大的先天不足。

大牛Nikhil在这篇文章中分析了这个问题,并给出了一些解决方案。虽然称不上完美,不过仍旧值得我们每个人参考。

 

[2] A complete list of Ajax Libraries, Frameworks and Toolkits (最完整的Ajax类库、框架和工具包列表)

Ajax的风头旺了好长一段时间(虽然现在风头似乎已经被SilverLight等其他RIA架构取代),因此各个类库、框架和工具包自然层出不穷。这篇文章就非常全面地列出了当今市面上的各种Ajax类库、框架和工具包。并提供了更加详细比较总结的页面(http://joeon.net/AJAX_Frameworks_List.htm)。

有这方面需要的朋友不妨参考一下。

 

[3] May 31st Links: ASP.NET, ASP.NET AJAX, Visual Studio and .NET (5月31号列表:ASP.NET、ASP.NET AJAX、Visual Studio和.NET)

“善于归纳总结”的Scott大叔充分地发挥了这方面的特长,在这篇文章中给出了一些最近有关ASP.NET、ASP.NET AJAX、Visual Studio和.NET的好文章,每个文章都加了一两句的评语。(似乎有点类似于我的《ASP.NET英文技术文章推荐》哦,让我自恋一把,嘿嘿)

这篇文章的ASP.NET和ASP.NET AJAX部分包含如下的推荐文章,大概看了一下,还都算不错。其中很多我都曾经在从前的《ASP.NET英文技术文章推荐》中推荐过:

  1. SubSonic Documentation and Project Site
  2. Examining ASP.NET 2.0's Membership, Roles and Profile System
  3. Rolling Your Own Website Administration Tool (Part 1) and Part2
  4. Official ASP.NET Provider Support from Oracle
  5. Asynchronous Page in ASP.NET 2.0
  6. What ASP.NET Developers Should Know About JavaScript
  7. ASP.NET AJAX UpdatePanel Tips and Tricks
  8. Write a Simple Control to Refresh UpdatePanels from Client Side

值得一提的是,最后一篇文章来自于博客园的Jeffrey Zhao,看来小伙子的能力已经有目共睹了,前途一片光明。

 

[4] Downloading a File with a Save As Dialog in ASP.NET (在ASP.NET下载文件时直接弹出“另存为”对话框)

这个主题不知道已经被多少人问过多少遍了,无论是ASP.NET,还是PHP还是什么别的CGI,似乎这也算做一个“永恒”的话题了。

其实解决方案很简单(无论哪个CGI平台都是如此),只是一个header而已:

Response.ContentType = "image/jpeg";
Response.AppendHeader("Content-Disposition","attachment; filename=SailBig.jpg");
Response.TransmitFile( Server.MapPath("~/images/sailbig.jpg") );
Response.End();

 

[5] Script#: Past, Present, Future... (Script#:过去、现在和将来……)

Script#是大牛Nikhil的一个比较有创意的东西,相信对ASP.NET AJAX(Atlas)比较熟悉的朋友对此都不会陌生。旨在用服务器端代码书写客户端应用程序组件,然后由编译器生成“烦人”的JavaScript——创意和Google的GWT如出一辙。不过微软公司一直没有官方的支持,让这个非常有意思的东西也一直停留在“雷声大雨点小”的阶段。大牛Nikhil即使再厉害,以个人之力对抗Google……后果还是可想而知的。

在这篇文章中,大牛回顾了过去,介绍了现在,展望了未来。看来他对Script#还是非常看重的。作为开发者/使用者的我们,这自然是个好消息。让我们拭目以待吧……

 

[6] GridView Row Fading Effect Using JavaScript (使用JavaScript为GridView行添加淡入淡出效果)

啥也不说了,看看图吧。用户体验方面确实做得很不错!

 

[7] Creating SqlParameters Best Practices (创建SqlParameter的最佳实践)

短小精悍的一篇文章,介绍了一些创建SqlParameter数组的方法,并给出了作者最喜欢的一种:

SqlParameter[] sqlParams = new SqlParameter[] {
   new SqlParameter("@username", strUserName) ,
   new SqlParameter("@password", strPassword)
};

也可以在创建时加上一些逻辑:

SqlParameter[] sqlParams = new SqlParameter[] {
  new SqlParameter("@Required", required),
  questionCode == null ? new SqlParameter("@Code", DBNull.Value) : new SqlParameter("@Code", questionCode)
};

看上去还是挺优雅的。

 

[8] Microsoft Ajax events - part 2: exposing events from custom classes (ASP.NET AJAX客户端框架事件:为自定义类暴露事件)

ASP.NET AJAX客户端框架为JavaScript提供了很多丰富的面向对象扩展功能,包括对事件的支持等。本文就介绍了在ASP.NET AJAX客户端类中暴露字定义事件的方法——其实非常简单,只要如下一段代码就够了:

add_tick: function(handler) {
    this.get_events().addHandler("tick", handler);
},
 
remove_tick: function(handler) {
    this.get_events().removeHandler("tick", handler);
},
 
_tick: function() {
    var handler = this.get_events().getHandler("tick");
    if (handler) handler(this, Sys.EventArgs.Empty);
    // [...]
}

 

[9] Official BlogEngine.NET 1.0 Release (BlogEngine.NET 1.0发布)

BlogEngine.NET是一个完全基于ASP.NET 2.0的、C#编写的简单的开源Blog系统。其官方网站为http://www.dotnetblogengine.net/。目前刚刚发布了1.0正式版本,主要功能虽然称不上强大,但是足够用了,包括:

  1. A nice variety of cool widgets
  2. A very sweet commenting system
  3. Great syndication support (RSS, Atom, and Feedburner)
  4. Support for Metaweblog API
  5. Trackbacks / Pingbacks
  6. A nice blog search
  7. Referrer stats
  8. Easy theme creation.

事实上,这并不是我推荐间的主要原因,因为纯粹从使用者角度来看,比BlogEngine.NET强大的Blog系统多的是。之所以推荐,就是因为它的源代码——整洁明晰,架构优雅,堪称学习ASP.NET 2.0的完美教材。与ASP.NET 2.0的那些Starter Kit相比,更是完美得太多!

 

[10] How to install FastCGI and PHP on IIS7 Beta 3 (如何在IIS7 Beta 3上安装FastCGI和PHP)

这是一个视频Blog(不知道应该叫什么名……播客?),其中总结了在IIS7 Beta 3上安装FastCGI和PHP的方法。作者还给出了视频中的要点。有需要的朋友不妨参考一下,看看IIS 7的强大功能……

 

[11] __doPostBack and the Back Button(__doPostBack和浏览器的“回退”按钮)

看到这个标题的朋友相比立即就能够猜出其中的内容吧。作者深入分析了半天(分析过程真的很不错,很不错),最后给出了这样的结论:

Not sure how to address this directly. I wouldn't say this is a bug in ASP.NET, and I'd be even hard pressed to call this a browser bug - browsers do write submitted POST values back into the variables of a page when you click the back button and that certainly has to work.

posted on 2007-06-01 22:44  Dflying Chen  阅读(8807)  评论(68编辑  收藏  举报