[url]http://www.cnblogs.com/codeplus/archive/2011/07/18/2109316.html[/url] [url]http://www.cnblogs.com/codeplus/archive/2011/07/18/2109544.html[/url]