[http://tianli.blog.51cto.com/190322/41998] [http://www.cnblogs.com/ASPNET2008/archive/2009/02/15/1388729.html]