<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Tanzim Saqib on .NET discovery</title><link>http://weblogs.asp.net/tanzimsaqib/default.aspx</link><description>Research &amp; Development</description><language>en</language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Saqib" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FSaqib" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSaqib" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FSaqib" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Saqib" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FSaqib" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FSaqib" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FSaqib" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>DropZone: How I built a database-less secured file storage using dotnetopenid</title><link>http://feedproxy.google.com/~r/Saqib/~3/_ES_05_SwGc/dropzone-how-i-built-a-database-less-secured-file-storage-using-dotnetopenid.aspx</link><category>C#</category><category>OpenID</category><category>Open Source</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Sat, 27 Jun 2009 03:13:27 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7135459</guid><description>One of my friends work for a company where he has to work in a remote PC and where he lives he does not have good internet connection. He neither has permission for opening up third party email website such GMail, nor he could download email with 100MBs...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/06/27/dropzone-how-i-built-a-database-less-secured-file-storage-using-dotnetopenid.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7135459" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WfN2y5cNzr2W-zGT6auPXAZ0y08/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WfN2y5cNzr2W-zGT6auPXAZ0y08/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WfN2y5cNzr2W-zGT6auPXAZ0y08/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WfN2y5cNzr2W-zGT6auPXAZ0y08/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=_ES_05_SwGc:xCo6FRbsUE0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=_ES_05_SwGc:xCo6FRbsUE0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=_ES_05_SwGc:xCo6FRbsUE0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=_ES_05_SwGc:xCo6FRbsUE0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=_ES_05_SwGc:xCo6FRbsUE0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=_ES_05_SwGc:xCo6FRbsUE0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=_ES_05_SwGc:xCo6FRbsUE0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/_ES_05_SwGc" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7135459</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7135459</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/06/27/dropzone-how-i-built-a-database-less-secured-file-storage-using-dotnetopenid.aspx</feedburner:origLink></item><item><title>Success story from Microsoft Day @ Dhaka</title><link>http://feedproxy.google.com/~r/Saqib/~3/w9j_NJvELT0/success-story-from-microsoft-day-dhaka.aspx</link><category>LINQ</category><category>ASP.NET</category><category>Events</category><category>Dynamic Data</category><category>Presentation</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Wed, 24 Jun 2009 08:05:57 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7133529</guid><description>As you probably know from the earlier posts or you might have attended already Microsoft Day , I spoke on Development in ASP.NET [WebForms, LINQ, Dynamic Data, Futures] on June 20th. Some of the enthusiasts still communicating with me even after the Microsoft...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/06/24/success-story-from-microsoft-day-dhaka.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7133529" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5FSIpSbRH00IA4R15fzDDNYJTHc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5FSIpSbRH00IA4R15fzDDNYJTHc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5FSIpSbRH00IA4R15fzDDNYJTHc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5FSIpSbRH00IA4R15fzDDNYJTHc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=w9j_NJvELT0:dEu7pRmC5U0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=w9j_NJvELT0:dEu7pRmC5U0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=w9j_NJvELT0:dEu7pRmC5U0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=w9j_NJvELT0:dEu7pRmC5U0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=w9j_NJvELT0:dEu7pRmC5U0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=w9j_NJvELT0:dEu7pRmC5U0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=w9j_NJvELT0:dEu7pRmC5U0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/w9j_NJvELT0" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7133529</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7133529</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/06/24/success-story-from-microsoft-day-dhaka.aspx</feedburner:origLink></item><item><title>Presentation at Microsoft Day @ Dhaka</title><link>http://feedproxy.google.com/~r/Saqib/~3/CkDtsS-VqDA/presentation-at-microsoft-day-dhaka.aspx</link><category>LINQ</category><category>ASP.NET</category><category>Events</category><category>Dynamic Data</category><category>Presentation</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Sun, 21 Jun 2009 09:27:46 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7131600</guid><description>As I have told earlier about the Microsoft Day @ Dhaka event , and as I have promised, this post is about the presentation slide the audience was asking for. I am so glad to receive appreciation about the session and overall event. I am really happy the...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/06/21/presentation-at-microsoft-day-dhaka.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7131600" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4BB1Iba6ICgfNAQcLYCC7lGUTkM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4BB1Iba6ICgfNAQcLYCC7lGUTkM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4BB1Iba6ICgfNAQcLYCC7lGUTkM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4BB1Iba6ICgfNAQcLYCC7lGUTkM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=CkDtsS-VqDA:3KLwnAxsfpw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=CkDtsS-VqDA:3KLwnAxsfpw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=CkDtsS-VqDA:3KLwnAxsfpw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=CkDtsS-VqDA:3KLwnAxsfpw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=CkDtsS-VqDA:3KLwnAxsfpw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=CkDtsS-VqDA:3KLwnAxsfpw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=CkDtsS-VqDA:3KLwnAxsfpw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/CkDtsS-VqDA" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">13</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7131600</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7131600</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/06/21/presentation-at-microsoft-day-dhaka.aspx</feedburner:origLink></item><item><title>I will be speaking at Microsoft Day @ Dhaka</title><link>http://feedproxy.google.com/~r/Saqib/~3/ACsLqOsR-1I/i-will-be-speaking-at-microsoft-day-dhaka.aspx</link><category>LINQ</category><category>ASP.NET</category><category>Azure</category><category>Visual Studio</category><category>MVC</category><category>Events</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Thu, 18 Jun 2009 10:58:40 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7129131</guid><description>Microsoft Community in Bangladesh proudly presents Microsoft Day @ Dhaka. This is a special day dedicated to all Microsoft technology professionals and students in Bangladesh. We will be having the best Microsoft community technologists from Bangladesh...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/06/18/i-will-be-speaking-at-microsoft-day-dhaka.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7129131" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3C-nCMZqgefKHvcYAgznuzfvdfE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3C-nCMZqgefKHvcYAgznuzfvdfE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3C-nCMZqgefKHvcYAgznuzfvdfE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3C-nCMZqgefKHvcYAgznuzfvdfE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ACsLqOsR-1I:ZSU6jSTB-Wc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ACsLqOsR-1I:ZSU6jSTB-Wc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ACsLqOsR-1I:ZSU6jSTB-Wc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=ACsLqOsR-1I:ZSU6jSTB-Wc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ACsLqOsR-1I:ZSU6jSTB-Wc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ACsLqOsR-1I:ZSU6jSTB-Wc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=ACsLqOsR-1I:ZSU6jSTB-Wc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/ACsLqOsR-1I" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7129131</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7129131</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/06/18/i-will-be-speaking-at-microsoft-day-dhaka.aspx</feedburner:origLink></item><item><title>ASP.NET MVC 1.0 Starter Kit for Visual Studio 2010</title><link>http://feedproxy.google.com/~r/Saqib/~3/Z0W7edj6XxQ/asp-net-mvc-1-0-starter-kit-for-visual-studio-2010.aspx</link><category>ASP.NET</category><category>Visual Studio</category><category>MVC</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Tue, 26 May 2009 06:47:14 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7098050</guid><description>I have described before in my prior post how you can run your ASP.NET MVC application in Visual Studio 2010. There is currently no support for ASP.NET MVC project types in Visual Studio 2010 Beta 1. So what I did is I created a starter kit for ASP.NET...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/05/26/asp-net-mvc-1-0-starter-kit-for-visual-studio-2010.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7098050" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pnhUQYN9woLhx6zrOlPAaik2o_0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pnhUQYN9woLhx6zrOlPAaik2o_0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pnhUQYN9woLhx6zrOlPAaik2o_0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pnhUQYN9woLhx6zrOlPAaik2o_0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=Z0W7edj6XxQ:FN5K8QPkYh4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=Z0W7edj6XxQ:FN5K8QPkYh4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=Z0W7edj6XxQ:FN5K8QPkYh4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=Z0W7edj6XxQ:FN5K8QPkYh4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=Z0W7edj6XxQ:FN5K8QPkYh4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=Z0W7edj6XxQ:FN5K8QPkYh4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=Z0W7edj6XxQ:FN5K8QPkYh4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/Z0W7edj6XxQ" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7098050</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7098050</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/05/26/asp-net-mvc-1-0-starter-kit-for-visual-studio-2010.aspx</feedburner:origLink></item><item><title>Running a ASP.NET MVC project on Visual Studio 2010 Beta1</title><link>http://feedproxy.google.com/~r/Saqib/~3/tcTyePyGx6I/running-a-asp-net-mvc-project-on-visual-studio-2010-beta1.aspx</link><category>ASP.NET</category><category>Visual Studio</category><category>MVC</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Sat, 23 May 2009 21:37:57 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7095618</guid><description>You probably already know that ASP.NET MVC is not included with Visual Studio 2010 Beta1 since MVC was released when Visual Studio release was being locked down. I hope it will be available from Beta2. It also looks like if you install ASP.NET MVC after...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/05/23/running-a-asp-net-mvc-project-on-visual-studio-2010-beta1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7095618" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SYpYCnRFjVFh7JzIWC9WYwrjWuY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SYpYCnRFjVFh7JzIWC9WYwrjWuY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SYpYCnRFjVFh7JzIWC9WYwrjWuY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SYpYCnRFjVFh7JzIWC9WYwrjWuY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=tcTyePyGx6I:pDdznTULjQs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=tcTyePyGx6I:pDdznTULjQs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=tcTyePyGx6I:pDdznTULjQs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=tcTyePyGx6I:pDdznTULjQs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=tcTyePyGx6I:pDdznTULjQs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=tcTyePyGx6I:pDdznTULjQs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=tcTyePyGx6I:pDdznTULjQs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/tcTyePyGx6I" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7095618</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7095618</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/05/23/running-a-asp-net-mvc-project-on-visual-studio-2010-beta1.aspx</feedburner:origLink></item><item><title>Building a basic Menu control for ASP.NET MVC</title><link>http://feedproxy.google.com/~r/Saqib/~3/unHg64KlR8U/building-a-basic-menu-control-for-asp-net-mvc.aspx</link><category>ASP.NET</category><category>C#</category><category>Look and Feel</category><category>MVC</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Sat, 23 May 2009 11:23:47 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7095426</guid><description>There are two different ways to build controls for ASP.NET MVC as of now. The most common way is by HTML Helper extension methods. You will find such methods being used in numerous places inside Views. Such methods can take any complexity of parameters...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2009/05/23/building-a-basic-menu-control-for-asp-net-mvc.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7095426" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0cmuZ0FLK56RH2E8INIW2sEkIUc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0cmuZ0FLK56RH2E8INIW2sEkIUc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0cmuZ0FLK56RH2E8INIW2sEkIUc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0cmuZ0FLK56RH2E8INIW2sEkIUc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=unHg64KlR8U:wWaDAQJeY7o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=unHg64KlR8U:wWaDAQJeY7o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=unHg64KlR8U:wWaDAQJeY7o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=unHg64KlR8U:wWaDAQJeY7o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=unHg64KlR8U:wWaDAQJeY7o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=unHg64KlR8U:wWaDAQJeY7o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=unHg64KlR8U:wWaDAQJeY7o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/unHg64KlR8U" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=7095426</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=7095426</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2009/05/23/building-a-basic-menu-control-for-asp-net-mvc.aspx</feedburner:origLink></item><item><title>CallQueue: Implementing a Sequential Web Service Call Queue for AJAX application</title><link>http://feedproxy.google.com/~r/Saqib/~3/dbEjwqNJbK8/callqueue-implementing-a-sequential-web-service-call-queue-for-ajax-application.aspx</link><category>AJAX</category><category>ASP.NET</category><category>JavaScript</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Wed, 19 Nov 2008 02:12:36 PST</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6746084</guid><description>In AJAX based applications its common that user might end up breaking your AJAX calls by clicking on numerous places in very short interval of time. Let us assume there is a page where there are several of hyperlinks which make WebService calls and do...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/11/19/callqueue-implementing-a-sequential-web-service-call-queue-for-ajax-application.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6746084" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1bxd7jpbjm7blpLQcwvMQ9Wa-T8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1bxd7jpbjm7blpLQcwvMQ9Wa-T8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1bxd7jpbjm7blpLQcwvMQ9Wa-T8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1bxd7jpbjm7blpLQcwvMQ9Wa-T8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=dbEjwqNJbK8:0_l515hFTcQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=dbEjwqNJbK8:0_l515hFTcQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=dbEjwqNJbK8:0_l515hFTcQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=dbEjwqNJbK8:0_l515hFTcQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=dbEjwqNJbK8:0_l515hFTcQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=dbEjwqNJbK8:0_l515hFTcQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=dbEjwqNJbK8:0_l515hFTcQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/dbEjwqNJbK8" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6746084</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6746084</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/11/19/callqueue-implementing-a-sequential-web-service-call-queue-for-ajax-application.aspx</feedburner:origLink></item><item><title>My eye friendly Visual Studio dark theme</title><link>http://feedproxy.google.com/~r/Saqib/~3/8KhEhOkwfFk/my-eye-friendly-visual-studio-dark-theme.aspx</link><category>Look and Feel</category><category>Visual Studio</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Mon, 17 Nov 2008 20:11:07 PST</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6744845</guid><description>I am not sure about how you guys feel about your IDE look &amp;amp; feel. First few years it was alright for me. However the more I used Visual Studio, the more I experienced problem with my eyes as well as monotony of the same old white background IDE. So...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/11/17/my-eye-friendly-visual-studio-dark-theme.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6744845" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ylpe1xp711yt4byw7cRR9HdWQRo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ylpe1xp711yt4byw7cRR9HdWQRo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ylpe1xp711yt4byw7cRR9HdWQRo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ylpe1xp711yt4byw7cRR9HdWQRo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=8KhEhOkwfFk:1AcPOdgR17o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=8KhEhOkwfFk:1AcPOdgR17o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=8KhEhOkwfFk:1AcPOdgR17o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=8KhEhOkwfFk:1AcPOdgR17o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=8KhEhOkwfFk:1AcPOdgR17o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=8KhEhOkwfFk:1AcPOdgR17o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=8KhEhOkwfFk:1AcPOdgR17o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/8KhEhOkwfFk" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6744845</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6744845</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/11/17/my-eye-friendly-visual-studio-dark-theme.aspx</feedburner:origLink></item><item><title>Client Perspective of Windows Azure Services Platform</title><link>http://feedproxy.google.com/~r/Saqib/~3/yaW_B2-MLpw/client-perspective-of-windows-azure-services-platform.aspx</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Fri, 14 Nov 2008 03:11:16 PST</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6734747</guid><description>Windows Azure was announced on PDC 2008 (Oct 27) and will hopefully be released mid next year. You probably already know about Azure by this time. If no, I would like to quote some from www.azure.com as intro: The Azure Services Platform is an internet...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/11/14/client-perspective-of-windows-azure-services-platform.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6734747" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BN5Z53VZ-dZwiFmRB2plZr6ycdA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BN5Z53VZ-dZwiFmRB2plZr6ycdA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BN5Z53VZ-dZwiFmRB2plZr6ycdA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BN5Z53VZ-dZwiFmRB2plZr6ycdA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=yaW_B2-MLpw:GP_u_HuSINI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=yaW_B2-MLpw:GP_u_HuSINI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=yaW_B2-MLpw:GP_u_HuSINI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=yaW_B2-MLpw:GP_u_HuSINI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=yaW_B2-MLpw:GP_u_HuSINI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=yaW_B2-MLpw:GP_u_HuSINI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=yaW_B2-MLpw:GP_u_HuSINI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/yaW_B2-MLpw" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6734747</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6734747</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/11/14/client-perspective-of-windows-azure-services-platform.aspx</feedburner:origLink></item><item><title>Cloudship: Membership Provider for the Cloud</title><link>http://feedproxy.google.com/~r/Saqib/~3/bkAzxqnUcYo/cloudship-membership-provider-for-the-cloud.aspx</link><category>ASP.NET</category><category>Azure</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Thu, 13 Nov 2008 21:09:30 PST</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6734369</guid><description>Planning to move to the Azure Cloud, but already tied to the Membership API? I have recently written an article on Windows Azure which guides you to build a complete Membership provider library which can be leveraged by existing application to link to...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/11/13/cloudship-membership-provider-for-the-cloud.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6734369" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8PMB5DaYO_L3AHnHhVL-ZCZPItQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8PMB5DaYO_L3AHnHhVL-ZCZPItQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8PMB5DaYO_L3AHnHhVL-ZCZPItQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8PMB5DaYO_L3AHnHhVL-ZCZPItQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=bkAzxqnUcYo:TF4uQvQcNvc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=bkAzxqnUcYo:TF4uQvQcNvc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=bkAzxqnUcYo:TF4uQvQcNvc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=bkAzxqnUcYo:TF4uQvQcNvc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=bkAzxqnUcYo:TF4uQvQcNvc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=bkAzxqnUcYo:TF4uQvQcNvc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=bkAzxqnUcYo:TF4uQvQcNvc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/bkAzxqnUcYo" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6734369</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6734369</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/11/13/cloudship-membership-provider-for-the-cloud.aspx</feedburner:origLink></item><item><title>Building applications for Windows Azure</title><link>http://feedproxy.google.com/~r/Saqib/~3/oH0CltXzRdI/building-applications-for-windows-azure.aspx</link><category>ASP.NET</category><category>Azure</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Fri, 07 Nov 2008 01:12:18 PST</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6725087</guid><description>Windows Azure is an upcoming operating system for the cloud from Microsoft, announced on October 27 at PDC. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage Web applications on the Internet through Microsoft...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/11/07/building-applications-for-windows-azure.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6725087" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hktGsIdm6MEXb4yFh_JAMTgxMk4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hktGsIdm6MEXb4yFh_JAMTgxMk4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hktGsIdm6MEXb4yFh_JAMTgxMk4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hktGsIdm6MEXb4yFh_JAMTgxMk4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=oH0CltXzRdI:rmhJaL5nKw8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=oH0CltXzRdI:rmhJaL5nKw8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=oH0CltXzRdI:rmhJaL5nKw8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=oH0CltXzRdI:rmhJaL5nKw8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=oH0CltXzRdI:rmhJaL5nKw8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=oH0CltXzRdI:rmhJaL5nKw8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=oH0CltXzRdI:rmhJaL5nKw8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/oH0CltXzRdI" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6725087</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6725087</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/11/07/building-applications-for-windows-azure.aspx</feedburner:origLink></item><item><title>Fixing DevelopmentStorage's database cannot be found problem on Windows Azure</title><link>http://feedproxy.google.com/~r/Saqib/~3/ezJiTwRkgNQ/fixing-developmentstorage-s-database-cannot-be-found-problem-on-windows-azure.aspx</link><category>Azure</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Fri, 31 Oct 2008 11:00:13 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6719353</guid><description>This could be a common problem who are not using SQL Express. If you run an Azure application you may find it seeks for SQL Express instance in your machine if you do not have already. You may also find &amp;quot;An error occurred while processing this request...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/11/01/fixing-developmentstorage-s-database-cannot-be-found-problem-on-windows-azure.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6719353" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mnTV6Sm1j9HMhGBhq5zy_UMc614/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mnTV6Sm1j9HMhGBhq5zy_UMc614/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mnTV6Sm1j9HMhGBhq5zy_UMc614/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mnTV6Sm1j9HMhGBhq5zy_UMc614/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ezJiTwRkgNQ:S0oKnyU47-s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ezJiTwRkgNQ:S0oKnyU47-s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ezJiTwRkgNQ:S0oKnyU47-s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=ezJiTwRkgNQ:S0oKnyU47-s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ezJiTwRkgNQ:S0oKnyU47-s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=ezJiTwRkgNQ:S0oKnyU47-s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=ezJiTwRkgNQ:S0oKnyU47-s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/ezJiTwRkgNQ" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6719353</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6719353</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/11/01/fixing-developmentstorage-s-database-cannot-be-found-problem-on-windows-azure.aspx</feedburner:origLink></item><item><title>jQuery intellisense in Visual Studio</title><link>http://feedproxy.google.com/~r/Saqib/~3/1zTysayCem4/jquery-intellisense-in-visual-studio.aspx</link><category>ASP.NET</category><category>jQuery</category><category>JavaScript</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Mon, 27 Oct 2008 20:20:43 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6707922</guid><description>Those who are excited like me about the news of jQuery integration into Visual Studio, started adopting jQuery replacing ASP.NET AJAX Client side API. Microsoft also declared there will be a patch for Visual Studio which will support jQuery as well as...(&lt;a href="http://weblogs.asp.net/tanzimsaqib/archive/2008/10/28/jquery-intellisense-in-visual-studio.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6707922" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rDPMgNkqwAEmzH_VqqCRlmDKcV4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rDPMgNkqwAEmzH_VqqCRlmDKcV4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rDPMgNkqwAEmzH_VqqCRlmDKcV4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rDPMgNkqwAEmzH_VqqCRlmDKcV4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=1zTysayCem4:jsKfJBDuIO8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=1zTysayCem4:jsKfJBDuIO8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=1zTysayCem4:jsKfJBDuIO8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=1zTysayCem4:jsKfJBDuIO8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=1zTysayCem4:jsKfJBDuIO8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=1zTysayCem4:jsKfJBDuIO8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=1zTysayCem4:jsKfJBDuIO8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/1zTysayCem4" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6707922</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6707922</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/10/28/jquery-intellisense-in-visual-studio.aspx</feedburner:origLink></item><item><title>Simple Form Validation - A Reflection based approach</title><link>http://feedproxy.google.com/~r/Saqib/~3/LkSaQ5C2aT8/simple-form-validation-a-reflection-based-approach.aspx</link><category>ASP.NET</category><category>C#</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanzim Saqib</dc:creator><pubDate>Fri, 28 Mar 2008 09:02:24 PDT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6052584</guid><description>&lt;p&gt;Are you tired of placing multiple Validation controls on Form? If you are bored of following scenario like me, keep on reading the post:&lt;/p&gt; &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/tanzimsaqib/WindowsLiveWriter/53522d6d07ce_13B51/Validators_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="82" alt="Validators" src="http://weblogs.asp.net/blogs/tanzimsaqib/WindowsLiveWriter/53522d6d07ce_13B51/Validators_thumb.png" width="365" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;A simple Email address validation can consist of whether&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The field is empty  &lt;li&gt;Longer than limit  &lt;li&gt;Email address format is invalid  &lt;li&gt;Already in use&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Ordinary solution to this problem is placing multiple validation controls for a single TextBox. You can simply it by replacing all with a single Custom Validator. Our goal is to reduce amount of controls on the form to keep it simple. To do that, we would have to write code for Custom Validator that does it all. We also would like to write minimum code to validate the control without compromising manageability. Let us assume we would write the following code inside the ServerValidate of that control:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;protected void &lt;/span&gt;cvEmailAddress_ServerValidate(&lt;span style="color: blue"&gt;object &lt;/span&gt;source, &lt;span style="color: #2b91af"&gt;ServerValidateEventArgs &lt;/span&gt;args)
{
    &lt;span style="color: #2b91af"&gt;ValidationController&lt;/span&gt;.ValidateControl&amp;lt;&lt;span style="color: #2b91af"&gt;ProfileValidator&lt;/span&gt;&amp;gt;(cvEmailAddress, &lt;span style="color: #2b91af"&gt;ProfileValidator&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;Fields&lt;/span&gt;.EmailAddress.ToString(), args);
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Let us declare a ValidationErrorResult object that contains error messages and text to display in the UI:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public sealed class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult
&lt;/span&gt;{
    &lt;span style="color: blue"&gt;public string &lt;/span&gt;ErrorMessage { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }
    &lt;span style="color: blue"&gt;public string &lt;/span&gt;Text { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;And an Attribute which would be used to tag a specific method which would be responsible for validation of particular control:&lt;/p&gt;&lt;pre class="code"&gt;[&lt;span style="color: #2b91af"&gt;AttributeUsage&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;AttributeTargets&lt;/span&gt;.Method, Inherited = &lt;span style="color: blue"&gt;false&lt;/span&gt;, AllowMultiple = &lt;span style="color: blue"&gt;true&lt;/span&gt;)]
&lt;span style="color: blue"&gt;public sealed class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationMethodAttribute &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;Attribute
&lt;/span&gt;{
    &lt;span style="color: blue"&gt;public &lt;/span&gt;ValidationMethodAttribute(&lt;span style="color: blue"&gt;string &lt;/span&gt;fieldName)
    {
        &lt;span style="color: blue"&gt;this&lt;/span&gt;.FieldName = fieldName;
    }

    &lt;span style="color: blue"&gt;public string &lt;/span&gt;FieldName { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;private set&lt;/span&gt;; }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;If you are already familiar with Attirbute based programming, I hope you know the attribute of this piece of code is in fact &lt;span style="color: #2b91af"&gt;ValidationMethod&lt;/span&gt;. We will soon see how to use this. The following is the method that checks the value and make a list of &lt;span style="color: #2b91af"&gt;ValidationErrorResult &lt;/span&gt;that consists of which rules got failed. Notice that the &lt;span style="color: #2b91af"&gt;ValidationMethod&lt;/span&gt; attribute contains the field name of the object which determines no matter whatever your method name is, that field name helps Validation controller to find this method out for validation.&lt;/p&gt;&lt;pre class="code"&gt;[&lt;span style="color: #2b91af"&gt;ValidationMethod&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"Email"&lt;/span&gt;)]
&lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;&amp;gt; ValidateEmail(&lt;span style="color: blue"&gt;object &lt;/span&gt;value)
{
    &lt;span style="color: blue"&gt;var &lt;/span&gt;email = value &lt;span style="color: blue"&gt;as string&lt;/span&gt;;
    &lt;span style="color: blue"&gt;var &lt;/span&gt;results = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;&amp;gt;();

    &lt;span style="color: green"&gt;// Blank
    &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: blue"&gt;string&lt;/span&gt;.IsNullOrEmpty(email))
        results.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;()
        {
            ErrorMessage = &lt;span style="color: #a31515"&gt;"You did not provide an Email Address."&lt;/span&gt;,
            Text = &lt;span style="color: #a31515"&gt;"Cannot be left blank"
        &lt;/span&gt;});

    &lt;span style="color: green"&gt;// Length 128
    &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(email.Length &amp;gt; 128)
        results.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;()
        {
            ErrorMessage = &lt;span style="color: #a31515"&gt;"You exceeded length limit."&lt;/span&gt;,
            Text = &lt;span style="color: #a31515"&gt;"Keep it less than 129 characters"
        &lt;/span&gt;});

    &lt;span style="color: green"&gt;// Valid Email Address
    &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(!&lt;span style="color: #2b91af"&gt;Regex&lt;/span&gt;.IsMatch(email, &lt;span style="color: #a31515"&gt;"^[\\w\\.\\-]+@[a-zA-Z0-9\\-]+(\\.[a-zA-Z0-9\\-]{1,})*(\\.[a-zA-Z]{2,3}){1,2}$"&lt;/span&gt;))
        results.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;()
        {
            ErrorMessage = &lt;span style="color: #a31515"&gt;"You provided an invalid Email Address."&lt;/span&gt;,
            Text = &lt;span style="color: #a31515"&gt;"Invalid Email Address"
        &lt;/span&gt;});

    &lt;span style="color: green"&gt;// Is Already In Use
    &lt;/span&gt;&lt;span style="color: blue"&gt;if &lt;/span&gt;(IsAlreadyInUse(email))
        results.Add(&lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;()
        {
            ErrorMessage = &lt;span style="color: #a31515"&gt;"You provided an invalid Email Address."&lt;/span&gt;,
            Text = &lt;span style="color: #a31515"&gt;"Invalid Email Address"
        &lt;/span&gt;});

    &lt;span style="color: blue"&gt;return &lt;/span&gt;results;
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Here is the ValidationController which goes through the Validation class and looks for the method that has the attribute which validates the control's value.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ValidationController
&lt;/span&gt;{
    &lt;span style="color: blue"&gt;public static &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;&amp;gt; Validate&amp;lt;T&amp;gt;(&lt;span style="color: blue"&gt;string &lt;/span&gt;fieldName, &lt;span style="color: blue"&gt;object &lt;/span&gt;value)
    {
        &lt;span style="color: blue"&gt;var &lt;/span&gt;results = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;&amp;gt;();
        &lt;span style="color: blue"&gt;var &lt;/span&gt;type = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(T);
        &lt;span style="color: blue"&gt;var &lt;/span&gt;methods = type.GetMethods(BindingFlags.Static | BindingFlags.Public);

        &lt;span style="color: blue"&gt;var &lt;/span&gt;method = methods.Single&amp;lt;MethodInfo&amp;gt;(&lt;span style="color: blue"&gt;delegate&lt;/span&gt;(MethodInfo m)
        {
            &lt;span style="color: blue"&gt;return &lt;/span&gt;((&lt;span style="color: #2b91af"&gt;ValidationMethodAttribute&lt;/span&gt;[])m.GetCustomAttributes(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ValidationMethodAttribute&lt;/span&gt;), &lt;span style="color: blue"&gt;false&lt;/span&gt;))[0].FieldName == fieldName;
        });

        &lt;span style="color: blue"&gt;return &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ValidationErrorResult&lt;/span&gt;&amp;gt;)method.Invoke(&lt;span style="color: blue"&gt;null&lt;/span&gt;, &lt;span style="color: blue"&gt;new object&lt;/span&gt;[] { value });
    }

    &lt;span style="color: blue"&gt;public static void &lt;/span&gt;ValidateControl&amp;lt;T&amp;gt;(&lt;span style="color: #2b91af"&gt;CustomValidator &lt;/span&gt;validator, &lt;span style="color: blue"&gt;string &lt;/span&gt;fieldName, &lt;span style="color: #2b91af"&gt;ServerValidateEventArgs &lt;/span&gt;args)
    {
        &lt;span style="color: blue"&gt;var &lt;/span&gt;results = Validate&amp;lt;T&amp;gt;(fieldName, args.Value);

        &lt;span style="color: blue"&gt;if &lt;/span&gt;(!(args.IsValid = !(results.Count &amp;gt; 0)))
        {
            validator.ErrorMessage = results[0].ErrorMessage;
            validator.Text = results[0].Text;
        }
    }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6052584" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/davwlRMfeXhVLFQ72_TT-zm4u1c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/davwlRMfeXhVLFQ72_TT-zm4u1c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/davwlRMfeXhVLFQ72_TT-zm4u1c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/davwlRMfeXhVLFQ72_TT-zm4u1c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=LkSaQ5C2aT8:ogDuxrLuCVk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=LkSaQ5C2aT8:ogDuxrLuCVk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=LkSaQ5C2aT8:ogDuxrLuCVk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=LkSaQ5C2aT8:ogDuxrLuCVk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=LkSaQ5C2aT8:ogDuxrLuCVk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Saqib?a=LkSaQ5C2aT8:ogDuxrLuCVk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Saqib?i=LkSaQ5C2aT8:ogDuxrLuCVk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Saqib/~4/LkSaQ5C2aT8" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/rsscomments.aspx?PostID=6052584</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tanzimsaqib/commentapi.aspx?PostID=6052584</wfw:comment><feedburner:origLink>http://weblogs.asp.net/tanzimsaqib/archive/2008/03/28/simple-form-validation-a-reflection-based-approach.aspx</feedburner:origLink></item></channel></rss>
