<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://laflour.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2flaflour.spaces.live.com%2fcategory%2fWeb%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Michael's Coding Den: Web</title><description /><link>http://laflour.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catWeb</link><language>en-US</language><pubDate>Wed, 08 Oct 2008 03:53:23 GMT</pubDate><lastBuildDate>Wed, 08 Oct 2008 03:53:23 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://laflour.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>8463920662804772276</live:id><live:alias>laflour</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>ASP.NET Theme across all pages with XMLHttpRequest calls</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1138.entry</link><description>&lt;p&gt;ASP.NET Themes is very powerful feature, but some limitations exist when you are trying to apply Themes dynamically. &lt;p&gt;For the single page the way to apply theme is to use  &lt;p&gt;Page.Theme = “&amp;lt;themeName&amp;gt;”;  &lt;p&gt;inside  the OnPreInit event, but if you try to apply theme for all pages across your site you have two solutions: &lt;ol&gt; &lt;li&gt;add this code to each of the pages  &lt;li&gt;apply theme for master.page – and it’s where problem starts&lt;/ol&gt; &lt;p&gt;ASP.NET master pages don’t support applying themes dynamically – only static support for the all site pages by setting attribute inside web.config. &lt;p&gt;But what to do if you need control which theme to apply and you don’t want to add code to every page of your site?!  &lt;p&gt;The solution for this to create custom HttpModule, where apply theme for Page class inside PreRequestHandlerExecute event. &lt;p&gt;See the following code-snippet of the ThemeHttpModule &lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt; &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   1:&lt;/span&gt; public void Init(HttpApplication context)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   3:&lt;/span&gt;     context.PreRequestHandlerExecute += context_PreRequestHandlerExecute;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   6:&lt;/span&gt; void context_PreRequestHandlerExecute(object sender, EventArgs e)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   7:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   8:&lt;/span&gt;     HttpContext context = HttpContext.Current;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   9:&lt;/span&gt;     if (!(context.Handler is Page))&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  11:&lt;/span&gt;         return;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  12:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  13:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  14:&lt;/span&gt;     Page page = (Page)context.Handler;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  15:&lt;/span&gt;     &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  16:&lt;/span&gt;     if ((page != null))&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  17:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  18:&lt;/span&gt;         string themeName = &amp;quot;Default&amp;quot;;  // get theme name from somewhere&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  19:&lt;/span&gt;         page.Theme = themeName;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  20:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;  21:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Done. Now you have flexible control which theme to apply in realtime, extracting you theme names from config or from database.
&lt;p&gt;But there is one case, I’d like point you attention – XMLHttpRequest calls.
&lt;p&gt;If you have AJAX XMLHttpRequest direct calls - this code won’t work, because server returns you only portion of page, not the full page with header and body. And you can’t apply theme on partial pages.
&lt;p&gt;To solve this you need to check if it’s partial request or not, inside your HttpModule. In case of ASP.NET AJAX you could use ScriptManager.IsInAsyncPostBack, but for the direct XMLHttpRequest  calls you need to check the header for the Content-Type you are used when create the MSXML object.
&lt;p&gt;Something like this
&lt;div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4"&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   1:&lt;/span&gt; // Don't apply theme for XMLHttpRequest calls, because you are getting part of the page, not the full page&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   2:&lt;/span&gt; if (! string.IsNullOrEmpty(context.Request.ContentType))&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   4:&lt;/span&gt;     return;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, 'Courier New', courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none"&gt;&lt;span style="color:#606060"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Now your themes will be applied only on pages, not the partial AJAX calls.
&lt;p&gt;Mirror: &lt;a href="http://msmvps.com/blogs/laflour/archive/2008/07/28/asp-net-theme-across-all-pages-with-xmlhttprequest-calls.aspx"&gt;ASP.NET Theme across all pages with XMLHttpRequest calls&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+ASP.NET+Theme+across+all+pages+with+XMLHttpRequest+calls&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1138.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1138.entry</guid><pubDate>Sun, 27 Jul 2008 14:42:19 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!1138/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1138.entry#comment</wfw:comment><dcterms:modified>2008-07-27T14:48:19Z</dcterms:modified></item><item><title>Attend ReMIX 08 in Sydney - Experts stand</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1035.entry</link><description>&lt;p&gt;Going to attend the &lt;a href="http://www.microsoft.com/australia/remix08/index.aspx" target="_blank"&gt;ReMIX 08 in Sydney&lt;/a&gt;. You can catch me in &amp;quot;Expert Stand&amp;quot; section during breaks. &lt;p&gt;&lt;font size=1&gt;Mirror: &lt;/font&gt;&lt;a title="Attend ReMIX 08 in Sydney - Experts stand" href="http://msmvps.com/blogs/laflour/archive/2008/05/08/attend-remix-08-in-sydney-experts-stand.aspx"&gt;&lt;font size=1&gt;Attend ReMIX 08 in Sydney - Experts stand&lt;/font&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Attend+ReMIX+08+in+Sydney+-+Experts+stand&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1035.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1035.entry</guid><pubDate>Thu, 08 May 2008 10:41:32 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!1035/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!1035.entry#comment</wfw:comment><dcterms:modified>2008-05-08T10:42:57Z</dcterms:modified></item><item><title>"Please wait..." online control generation</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!811.entry</link><description>&lt;p&gt;Recently I was looking for the different controls to represent &amp;quot;wait&amp;quot; indicator on the web page, and found the great site &lt;a title="http://ajaxload.info/" href="http://ajaxload.info/"&gt;http://ajaxload.info/&lt;/a&gt; , which allows you to generate number of different wait controls. You can view them online and download to use on your site. &lt;p&gt;Updated: another collection is there &lt;a title="http://www.napyfab.com/ajax-indicators/" href="http://www.napyfab.com/ajax-indicators/"&gt;http://www.napyfab.com/ajax-indicators/&lt;/a&gt; &lt;p&gt;&lt;font size=1&gt;Mirror: &lt;/font&gt;&lt;a title="Please wait... online control generation" href="http://msmvps.com/blogs/laflour/archive/2007/11/29/quot-please-wait-quot-online-control-generation.aspx"&gt;&lt;font size=1&gt;Please wait... online control generation&lt;/font&gt;&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+%22Please+wait...%22+online+control+generation&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!811.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!811.entry</guid><pubDate>Thu, 29 Nov 2007 13:27:14 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!811/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!811.entry#comment</wfw:comment><dcterms:modified>2007-12-12T10:58:03Z</dcterms:modified></item><item><title>Overview of all Web Services standards</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!714.entry</link><description>&lt;p&gt;Michele Leroux Bustamante published a really good &lt;a href="http://www.infoq.com/articles/ws-standards-wcf-bustamante" target="_blank"&gt;description of WS-* standards&lt;/a&gt;. &lt;p&gt;If you had some problems in understanding why and where this formats are for - now it's not the problem, because this topic was examined in details&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Overview+of+all+Web+Services+standards&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!714.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!714.entry</guid><pubDate>Mon, 02 Jul 2007 03:56:05 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!714/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!714.entry#comment</wfw:comment><dcterms:modified>2007-07-02T03:56:05Z</dcterms:modified></item><item><title>ASP.NET AJAX Extensions Intro with samples</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!690.entry</link><description>&lt;p&gt;Just found awesome description of ASP.NET AJAX Extension with good samples. &lt;p&gt;Read there &lt;a title="http://www.simple-talk.com/dotnet/asp.net/enhance-your-website-with-asp.net-ajax-extensions/" href="http://www.simple-talk.com/dotnet/asp.net/enhance-your-website-with-asp.net-ajax-extensions/"&gt;http://www.simple-talk.com/dotnet/asp.net/enhance-your-website-with-asp.net-ajax-extensions/&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+ASP.NET+AJAX+Extensions+Intro+with+samples&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!690.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!690.entry</guid><pubDate>Sat, 05 May 2007 17:53:29 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!690/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!690.entry#comment</wfw:comment><dcterms:modified>2007-05-05T17:53:29Z</dcterms:modified></item><item><title>ASP.NET 2.0 tutorials, howtos, labs.</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!626.entry</link><description>&lt;div&gt; &lt;/div&gt; &lt;div&gt;Great &lt;a href="http://blogs.gotdotnet.com/walzenbach/archive/2006/11/03/asp-net-2-0-trainingsressourcen.aspx"&gt;&lt;u&gt;link&lt;/u&gt;&lt;/a&gt; that comprises numbers of tutorials, howtos, and labs related to ASP.NET 2.0 and AJAX.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;And there is the &amp;quot;&lt;a title="JavaScript with ASP.NET 2.0 Pages" href="http://dotnetslackers.com/articles/aspnet/JavaScript_with_ASP_NET_2_0_Pages_Part1.aspx"&gt;&lt;u&gt;JavaScript with ASP.NET 2.0 Pages&lt;/u&gt;&lt;/a&gt;&amp;quot; article about he new features of JS support&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;a href="http://blogs.gotdotnet.com/walzenbach/archive/2006/11/03/asp-net-2-0-trainingsressourcen.aspx"&gt;&lt;/a&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+ASP.NET+2.0+tutorials%2c+howtos%2c+labs.&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!626.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!626.entry</guid><pubDate>Fri, 03 Nov 2006 15:27:21 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!626/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!626.entry#comment</wfw:comment><dcterms:modified>2007-01-09T21:01:38Z</dcterms:modified></item><item><title>Creating Ultimate Mashup</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!564.entry</link><description>&lt;div&gt; &lt;/div&gt; &lt;div&gt;This &lt;a href="http://www-128.ibm.com/developerworks/views/xml/libraryview.jsp?search_by=The+ultimate+mashup+semantic+ Web"&gt;&lt;u&gt;series&lt;/u&gt;&lt;/a&gt; chronicles the creation of the ultimate &lt;a href="http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)"&gt;&lt;u&gt;mashup&lt;/u&gt;&lt;/a&gt;.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;a href="http://www.ibm.com/developerworks/java/library/wa-lucene2/index.html?ca=drs-"&gt;&lt;u&gt;Intro&lt;/u&gt;&lt;/a&gt;  -  Mashups: The new breed of Web app&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;a href="http://www.ibm.com/developerworks/edu/x-dw-x-ultimashup1.html?S_TACT=105AGX04&amp;amp;S_CMP=HP"&gt;&lt;u&gt;Part 1&lt;/u&gt;&lt;/a&gt; - Learn the concept of mashups, see how they work, and build a simple version of one.&lt;/div&gt; &lt;div&gt;&lt;a href="http://www-128.ibm.com/developerworks/edu/x-dw-x-ultimashup2.html?S_TACT=105AGX06&amp;amp;S_CMP=HP"&gt;&lt;u&gt;Part 2&lt;/u&gt;&lt;/a&gt; - Manage a mashup data cache.&lt;/div&gt; &lt;div&gt;&lt;a href="http://www-128.ibm.com/developerworks/edu/x-dw-x-ultimashup3.html?ca=drs-"&gt;&lt;u&gt;Part 3&lt;/u&gt;&lt;/a&gt; - Understand RDF&lt;/div&gt; &lt;div&gt;&lt;a title="Creating an ontology" href="http://www.ibm.com/developerworks/edu/x-dw-x-ultimashup4.html"&gt;&lt;u&gt;Part 4&lt;/u&gt;&lt;/a&gt; - Creating an ontology&lt;/div&gt; &lt;div&gt;&lt;a title="Change out Web services" href="http://www.ibm.com/developerworks/edu/x-dw-x-ultimashup5.html"&gt;&lt;u&gt;Part 5&lt;/u&gt;&lt;/a&gt; - Change out Web services&lt;/div&gt; &lt;div&gt;&lt;a title="Give the user control" href="http://www.ibm.com/developerworks/edu/x-dw-x-ultimashup6.html?ca=drs-"&gt;&lt;u&gt;Part 6&lt;/u&gt;&lt;/a&gt; - Give the user control &lt;strong&gt;(final)&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;a href="http://www-128.ibm.com/developerworks/web/library/x-xquerymashup/index.html?ca=drs-"&gt;&lt;u&gt;XQuery&lt;/u&gt;&lt;/a&gt; - Power your mashups with XQuery&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;All parts are available in PDF format.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Creating+Ultimate+Mashup&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!564.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!564.entry</guid><pubDate>Tue, 12 Sep 2006 13:46:20 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!564/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!564.entry#comment</wfw:comment><dcterms:modified>2006-11-17T09:02:04Z</dcterms:modified></item><item><title>Async calls in ASP.NET</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!367.entry</link><description>&lt;div&gt;Good example of applying async calls for ASP.NET: &lt;a href="http://www.codeproject.com/cs/webservices/asyncws.asp"&gt;&lt;u&gt;http://www.codeproject.com/cs/webservices/asyncws.asp&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;and another approach using &lt;a href="http://developer.apple.com/internet/webcontent/xmlhttpreq.html"&gt;&lt;u&gt;XMLHTTPRequest&lt;/u&gt; &lt;/a&gt;with Russian &lt;a href="http://www.realcoding.net/article/view/3656"&gt;&lt;u&gt;translation&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Additional articles:&lt;/div&gt;
&lt;div&gt;- &lt;a href="http://www.eggheadcafe.com/articles/20060620.asp"&gt;http://www.eggheadcafe.com/articles/20060620.asp&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;- &lt;a href="http://www.realcoding.net/article/view/3670"&gt;http://www.realcoding.net/article/view/3670&lt;/a&gt; (rus)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+Async+calls+in+ASP.NET&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!367.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!367.entry</guid><pubDate>Wed, 05 Apr 2006 18:33:10 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!367/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!367.entry#comment</wfw:comment><dcterms:modified>2006-06-22T12:01:35Z</dcterms:modified></item><item><title>What's the Web 2.0</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!354.entry</link><description>Excellent &lt;a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html?page=1"&gt;&lt;u&gt;description&lt;/u&gt; &lt;/a&gt;of main Web 2.0 features&lt;br&gt;&lt;br&gt;&lt;span&gt;
&lt;ul&gt;
&lt;li&gt;Services, not packaged software, with cost-effective scalability
&lt;li&gt;Control over unique, hard-to-recreate data sources that get richer as more people use them
&lt;li&gt;Trusting users as co-developers
&lt;li&gt;Harnessing collective intelligence
&lt;li&gt;Leveraging the long tail through customer self-service
&lt;li&gt;Software above the level of a single device
&lt;li&gt;Lightweight user interfaces, development models, AND business models&lt;/ul&gt;
&lt;p&gt;&lt;/span&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+What's+the+Web+2.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!354.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!354.entry</guid><pubDate>Sat, 04 Mar 2006 12:30:59 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!354/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!354.entry#comment</wfw:comment><dcterms:modified>2006-03-04T12:40:59Z</dcterms:modified></item><item><title>AJAX Learning Guide</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!312.entry</link><description>&lt;div&gt;AJAX Learning Guide is over &lt;a href="http://searchvb.techtarget.com/generic/0,295582,sid8_gci1146961,00.html"&gt;&lt;u&gt;there&lt;/u&gt;&lt;/a&gt; and &lt;a href="http://rushi.wordpress.com/2006/04/04/beginning-ajax/"&gt;&lt;u&gt;here&lt;/u&gt;&lt;/a&gt;: principles, architecture model, tutorials and samples&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+AJAX+Learning+Guide&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!312.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!312.entry</guid><pubDate>Fri, 10 Feb 2006 13:50:55 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!312/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!312.entry#comment</wfw:comment><dcterms:modified>2006-04-09T15:09:26Z</dcterms:modified></item><item><title>The SQL Site Map Provider we've been waiting for</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!311.entry</link><description>&lt;div&gt;Jeff Prosise &lt;a href="http://msdn.microsoft.com/msdnmag/issues/06/02/WickedCode/default.aspx"&gt;&lt;u&gt;published&lt;/u&gt;&lt;/a&gt; his final SQL Site Map Provider. Now we can store our site map structure in database, instead of using XML.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Several related topics:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;sample of using MasterPages: &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/01/17/435765.aspx"&gt;&lt;u&gt;http://weblogs.asp.net/scottgu/archive/2006/01/17/435765.aspx&lt;/u&gt;&lt;/a&gt;
&lt;li&gt;site navigation features: &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/11/20/431019.aspx"&gt;&lt;u&gt;http://weblogs.asp.net/scottgu/archive/2005/11/20/431019.aspx&lt;/u&gt;&lt;/a&gt;
&lt;li&gt;building your own Data Source Controls: &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/12/04/432319.aspx"&gt;&lt;u&gt;http://weblogs.asp.net/scottgu/archive/2005/12/04/432319.aspx&lt;/u&gt;&lt;/a&gt;&lt;/ul&gt;
&lt;p&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+The+SQL+Site+Map+Provider+we've+been+waiting+for&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!311.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!311.entry</guid><pubDate>Mon, 06 Feb 2006 04:37:23 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!311/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!311.entry#comment</wfw:comment><dcterms:modified>2006-02-06T04:37:23Z</dcterms:modified></item><item><title>ASP.NET tips</title><link>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!233.entry</link><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/coding4fun/xmlforfun/SimpleRSS/default.aspx"&gt;&lt;u&gt;How to create simple RSS feed&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://www.codeproject.com/useritems/SearchingPagingSortingDG.asp"&gt;&lt;u&gt;Practical using stored procedures for paging and sorting data for asp.net grid&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://blogs.msdn.com/bgold/archive/2006/02/27/540264.aspx"&gt;&lt;u&gt;Extensive ASP.net security guidances&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/dngrfTheASPNETHTTPRuntime.asp"&gt;&lt;u&gt;Components of ASP.net, WebGarden Model, HTTP Pipeline&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/02/09/HTTPPipelines/default.aspx"&gt;&lt;u&gt;Securely Implement Request Processing, Filtering, and Content Redirection with HTTP Pipelines in ASP.NET&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/asp.net/using/building/web/default.aspx?pull=/library/en-us/dnaspp/html/ClientSideScript.asp"&gt;&lt;u&gt;Working with Client-Side Script&lt;/u&gt;&lt;/a&gt; 
&lt;li&gt;&lt;font color="#014982"&gt;&lt;a href="http://www.code-magazine.com/article.aspx?quickid=0511061&amp;amp;page=1"&gt;&lt;u&gt;A Low Level Look at ASP.NET Architecture&lt;/u&gt;&lt;/a&gt;&lt;/font&gt; 
&lt;li&gt;&lt;font color="#014982"&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/05/01/CuttingEdge/"&gt;&lt;u&gt;Custom Script Callbacks in ASP.NET&lt;/u&gt;&lt;/a&gt;&lt;/font&gt; 
&lt;li&gt;&lt;a href="http://nayyeri.net/archive/2007/01/16/xhtml-validator-for-asp-net-2-0-and-iis-7-0.aspx"&gt;&lt;u&gt;XHTML Validators for ASP.NET 2.0 and IIS7&lt;/u&gt;&lt;/a&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/gduthie/archive/2007/03/14/custom-file-extensions-in-asp-net-2-0.aspx"&gt;&lt;u&gt;Custom File Extension&lt;/u&gt;&lt;/a&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeproject.com/useritems/Comm_UI_Prc_ASPNET.asp"&gt;&lt;u&gt;CheckList&lt;/u&gt;&lt;/a&gt;&lt;br&gt;&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=8463920662804772276&amp;page=RSS%3a+ASP.NET+tips&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=laflour.spaces.live.com&amp;amp;GT1=laflour"&gt;</description><comments>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!233.entry#comment</comments><guid isPermaLink="true">http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!233.entry</guid><pubDate>Tue, 30 Aug 2005 10:46:42 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://laflour.spaces.live.com/blog/cns!7575E2FFC19135B4!233/comments/feed.rss</wfw:commentRss><wfw:comment>http://laflour.spaces.live.com/Blog/cns!7575E2FFC19135B4!233.entry#comment</wfw:comment><dcterms:modified>2007-03-14T22:05:28Z</dcterms:modified></item></channel></rss>