<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET AJAX Team Blogs : HTML</title><link>http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx</link><description>Tags: HTML</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>JavaScript class browser: once again with jQuery</title><link>http://weblogs.asp.net/bleroy/archive/2009/10/30/javascript-class-browser-once-again-with-jquery.aspx</link><pubDate>Fri, 30 Oct 2009 17:43:26 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7243407</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=7243407</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/10/30/javascript-class-browser-once-again-with-jquery.aspx#comments</comments><description>I’ve already posted twice about that little class browser application. The first iteration was mostly declarative and can be found here: http://weblogs.asp.net/bleroy/archive/2009/09/14/building-a-class-browser-with-microsoft-ajax-4-0-preview-5.aspx The second one was entirely imperative and can be found here: http://weblogs.asp.net/bleroy/archive/2009/10/15/entirely-unobtrusive-and-imperative-templates-with-microsoft-ajax-4-preview-6.aspx This new version builds on top of the code for the imperative version and adds the jQuery dependency in an attempt to make the code leaner and simpler. I invite you to refer to the imperative code (included in the archive for this post ) and compare it with the jQuery version, which shows a couple of ways...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/10/30/javascript-class-browser-once-again-with-jquery.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7243407" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>How to render the same template on the server and client with minimal redundancy</title><link>http://weblogs.asp.net/bleroy/archive/2009/10/19/how-to-render-the-same-template-on-the-server-and-client-with-minimal-redundancy.aspx</link><pubDate>Mon, 19 Oct 2009 08:50:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7232879</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=7232879</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/10/19/how-to-render-the-same-template-on-the-server-and-client-with-minimal-redundancy.aspx#comments</comments><description>Last week, I wrote a post about how the new Microsoft Ajax Library Preview 6 made it a lot easier to write unobtrusive and imperative data-driven applications . Because for the previous preview, I had written a cool little class browser using a declarative style, I thought it would be nice to rewrite this in a completely imperative way. The mistake I made though was to call it unobtrusive. Never mind that ‘unobtrusive’ is a perfectly well-defined word that actually existed way before JavaScript. ‘Unobtrusive JavaScript’ has a very specific meaning that people feel strongly about. To be worthy of that label, an application must basically conform to (at least) those two requirements: Markup and behavior are strictly separated. That means no DOM...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/10/19/how-to-render-the-same-template-on-the-server-and-client-with-minimal-redundancy.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7232879" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Entirely unobtrusive and imperative templates with Microsoft Ajax Library Preview 6</title><link>http://weblogs.asp.net/bleroy/archive/2009/10/15/entirely-unobtrusive-and-imperative-templates-with-microsoft-ajax-4-preview-6.aspx</link><pubDate>Thu, 15 Oct 2009 09:12:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7231198</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=7231198</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/10/15/entirely-unobtrusive-and-imperative-templates-with-microsoft-ajax-4-preview-6.aspx#comments</comments><description>Today is the release of the sixth preview of Microsoft Ajax Library. Don’t get fooled by the somewhat silly and long name: this is a major release in many ways. The scripts have been majorly refactored since preview 5. Check out the other posts out there (links at the bottom of this post) to see just some of the many new features that are in there. Some of my favorite are all the small improvements that have been made to make imperative instantiation of components and templated contents easier than ever. Many of you have told us that you preferred to do things imperatively and this release makes it a lot better. When Preview 5 came out, I built a simple class browser using the declarative syntax. The class browser shows the hierarchy of namespaces...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/10/15/entirely-unobtrusive-and-imperative-templates-with-microsoft-ajax-4-preview-6.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7231198" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Building a class browser with Microsoft Ajax 4.0 Preview 5</title><link>http://weblogs.asp.net/bleroy/archive/2009/09/14/building-a-class-browser-with-microsoft-ajax-4-0-preview-5.aspx</link><pubDate>Mon, 14 Sep 2009 07:29:37 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7204722</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=7204722</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/09/14/building-a-class-browser-with-microsoft-ajax-4-0-preview-5.aspx#comments</comments><description>The Microsoft Ajax Library 4.0 Preview 5 is the first release of Microsoft Ajax that I didn’t participate in: I left the team a few months ago. But that doesn’t mean I don’t love what’s in there, and I really do. And by the way I’ve also seen what’s in Preview 6 too and man that will seriously rock. So I thought I’d write a little something to celebrate the new preview. The new features include recursive templates, which is pretty much begging us to implement a treeview with it, and we’ll do just that in this post. There is also an intriguing capability, which enables you to dynamically set what template to render for each data item, and where to render it. At first, this doesn’t look like the most useful thing in the world, but it actually...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/09/14/building-a-class-browser-with-microsoft-ajax-4-0-preview-5.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7204722" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Why is ASP.NET encoding &amp;’s in script URLs? A tale of looking at entirely the wrong place for a cause to a non-existing bug.</title><link>http://weblogs.asp.net/bleroy/archive/2009/06/05/why-is-asp-net-encoding-amp-s-in-script-urls-a-tale-of-looking-at-entirely-the-wrong-place-for-a-cause-to-a-non-existing-bug.aspx</link><pubDate>Sat, 06 Jun 2009 00:27:15 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7109247</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=7109247</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/06/05/why-is-asp-net-encoding-amp-s-in-script-urls-a-tale-of-looking-at-entirely-the-wrong-place-for-a-cause-to-a-non-existing-bug.aspx#comments</comments><description>Several people have reported seeing errors in their logs that seem to be due to requests such as this: /ScriptResource.axd?d= [lots of junk] &amp;amp;amp; t=ffffffffee24147c The important part here is the HTML-encoded “&amp;amp;amp;” sequence, which stands for “&amp;amp;” of course. If this exact URL is sent to the server, the server won’t know what to do with the escape sequence (URLs are not supposed to be HTML-encoded on the wire) so the parameters won’t get separated as expected, potentially resulting in a server error. This bug in the toolkit is an example of that: http://ajaxcontroltoolkit.codeplex.com/WorkItem/View.aspx?WorkItemId=13134 Of course, when people see 500 errors popping up in their server logs, they immediately assume the application...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/06/05/why-is-asp-net-encoding-amp-s-in-script-urls-a-tale-of-looking-at-entirely-the-wrong-place-for-a-cause-to-a-non-existing-bug.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7109247" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/AJAX+Control+Toolkit/default.aspx">AJAX Control Toolkit</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>New release of the Ajax Control Toolkit</title><link>http://weblogs.asp.net/bleroy/archive/2009/05/13/new-release-of-the-ajax-control-toolkit.aspx</link><pubDate>Thu, 14 May 2009 05:19:17 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7086245</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=7086245</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/05/13/new-release-of-the-ajax-control-toolkit.aspx#comments</comments><description>A new version of the AJAX Control Toolkit is now available for download from the CodePlex website. It contains three new controls: HTMLEditor - allows you to easily create and edit HTML content. You can edit in WYSIWYG mode or in HTML source mode. The control exists as a server-side extender but can also be instantiated purely on the client-side with a single line of code. Many thanks to Obout for building this. ComboBox - provides a DropDownList of items, combined with TextBox. Different modes determine the interplay between the text entry and the list of items. this control behaves very much like a Windows combo. Many thanks to Dan Ludwig for building this. ColorPicker - can be attached to any ASP.NET TextBox control to provide client-side...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/05/13/new-release-of-the-ajax-control-toolkit.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7086245" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/AJAX+Control+Toolkit/default.aspx">AJAX Control Toolkit</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Microsoft Ajax 4.0 Preview 4 now available</title><link>http://weblogs.asp.net/bleroy/archive/2009/03/18/microsoft-ajax-4-0-preview-4-now-available.aspx</link><pubDate>Wed, 18 Mar 2009 07:49:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6973806</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6973806</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/03/18/microsoft-ajax-4-0-preview-4-now-available.aspx#comments</comments><description>The Microsoft Ajax team made the fourth preview of the 4.0 version available on CodePlex . This is an important release because it enables the full client data story, complete with the ability to get changes back to the server automatically. Here’s a quick recap of some of the available features: Getting a client representation of data from an ADO.NET and REST data service. Rendering data on the client using templates . Declarative instantiation of client components. Live bindings , enabling changes in the UI and in the data to be automatically propagated. Command bubbling for codeless wiring of events in template-driven controls. Data identity and association management for efficient and consistent client-server data exchanges. Sending changes...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/03/18/microsoft-ajax-4-0-preview-4-now-available.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6973806" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JSON/default.aspx">JSON</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>How to choose a client template engine</title><link>http://weblogs.asp.net/bleroy/archive/2009/02/05/how-to-choose-a-client-template-engine.aspx</link><pubDate>Thu, 05 Feb 2009 08:03:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6884242</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6884242</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/02/05/how-to-choose-a-client-template-engine.aspx#comments</comments><description>Disclaimer: I worked on the Microsoft Ajax 4.0 template engine, so my criteria are of course heavily influenced by our own design. Templates are a data rendering method that server-side developers have enjoyed since the old days of classic ASP and PHP. The idea was quite simple (add code blocks and dynamic expressions directly into HTML markup) but it revolutionized web development, which before that relied on the opposite method (spitting HTML from CGI code). On the client-side, the browser provides two ways to generate HTML: innerHTML and the DOM API. Template rendering is of course possible, but only using a JavaScript library. To be honest, one should mention XSLT here, which is standard and widely supported but whose somewhat unusual syntax...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/02/05/how-to-choose-a-client-template-engine.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6884242" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/injection/default.aspx">injection</category></item><item><title>Alternating styles in DataView</title><link>http://weblogs.asp.net/bleroy/archive/2009/01/29/alternating-styles-in-dataview.aspx</link><pubDate>Fri, 30 Jan 2009 06:48:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6869012</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6869012</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/01/29/alternating-styles-in-dataview.aspx#comments</comments><description>A few months ago, I showed how you can alternate styles using CSS in a server-side ListView , by selecting the class depending on the remainder of the division of the data index by two. Well, you can do the exact same thing with the client-side DataView. Let’s first define the classes we’ll want to apply to the even and odd rows: tbody tr { background-color : #f0f0f0 ; } tbody tr.odd { background-color : #c0c0c0 ; } Then, we can use the class namespace to bind the presence of a CSS class to a Boolean condition: &amp;lt; tr class : odd =&amp;quot;{{ $index % 2 }}&amp;quot;&amp;gt; Within the context of the template, $index is the index of the current data item, so $index % 2 will be evaluated as 1 and 0 alternatively. For JavaScript, when evaluated in a Boolean...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/01/29/alternating-styles-in-dataview.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6869012" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>JavaScript Behavior Sheets: an experiment</title><link>http://weblogs.asp.net/bleroy/archive/2009/01/18/javascript-behavior-sheets-an-experiment.aspx</link><pubDate>Sun, 18 Jan 2009 08:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6853993</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6853993</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/01/18/javascript-behavior-sheets-an-experiment.aspx#comments</comments><description>Here’s a little experiment. I’m really after feedback on this one as I’m trying to decide whether this is a good idea. It’s also entirely possible somebody else did this before. That would be good feedback too. Anyway, here it is. Despite its shortcomings, CSS has a number of features that make it very compelling. First, it decouples styling from markup. Second, its selector syntax is simple, yet reasonably powerful. So we have semantic markup on the one hand, and styles on the other hand, and the only coupling between the two is the selectors in the stylesheet. In Ajax applications, there is a third kind of entity in the mix, JavaScript behavior. There are of course ways to decouple the script behavior from the markup, which are usually referred...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2009/01/18/javascript-behavior-sheets-an-experiment.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6853993" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Firefox/default.aspx">Firefox</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JSON/default.aspx">JSON</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Instantiating components on template markup</title><link>http://weblogs.asp.net/bleroy/archive/2008/11/28/instantiating-components-on-template-markup.aspx</link><pubDate>Sat, 29 Nov 2008 06:48:10 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6759632</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6759632</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/11/28/instantiating-components-on-template-markup.aspx#comments</comments><description>All client-side template engines enable you to create HTML (fell free to go ‘duh’). What they don’t all allow is the creation of event handlers and components over the markup they generate. The general approach with those engines is to do a second pass of code over the markup to create handlers and components. This is quite unfortunate as this generally requires some knowledge of the markup (which plays against separation of concerns) or something like the introduction of marker CSS classes into the markup. For our own template engine, we wanted event handler creation and component instantiation to be first class scenarios, and we wanted both to be possible from imperative code as well as declarative code. Imperative code blocks Let’s start...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2008/11/28/instantiating-components-on-template-markup.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6759632" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Simplifying the edit in place behavior</title><link>http://weblogs.asp.net/bleroy/archive/2008/11/24/simplifying-the-edit-in-place-behavior.aspx</link><pubDate>Tue, 25 Nov 2008 06:20:21 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6753076</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6753076</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/11/24/simplifying-the-edit-in-place-behavior.aspx#comments</comments><description>Last week, I wrote about building a simple behavior to edit text in place . Almost at the same time, Nikhil was building a similar component for Silverlight , but it was considerably simpler because instead of substituting a label for the textbox on blur, he was just changing the border so that the textbox resembles a label. This is a lot simpler, cleaner and more stable. The textbox always behaves according to what one would expect from a textbox because it never ceases to be a textbox. No focus to manage, nothing to hide and show, just styles to change. I had actually already done a similar simplification from Nikhil’s original behavior that he wrote a few years ago by not handling the hover effect from the component but from CSS. Changing...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2008/11/24/simplifying-the-edit-in-place-behavior.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6753076" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>PDC 2008 ASP.NET AJAX Futures talk available online</title><link>http://weblogs.asp.net/bleroy/archive/2008/11/03/pdc-2008-asp-net-ajax-futures-talk-available-online.aspx</link><pubDate>Mon, 03 Nov 2008 18:10:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6718272</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6718272</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/11/03/pdc-2008-asp-net-ajax-futures-talk-available-online.aspx#comments</comments><description>The full 83 minutes of my PDC talk are available on the Channel 9 web site . You can watch the session online (using Silverlight) or download the video in a number of formats. Slides and source code for the demo are also available. Watch online: http://channel9.msdn.com/pdc2008/PC32/ Download MP4 / iPod , Zune , WMV or WMV-HQ . Slides: http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx Demo code (contains MIT and MS-PL licensed JavaScript files): http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP Another talk you may be interested in is Stephen Walther&amp;#39;s . Stephen did an amazing job explaining how jQuery and ASP.NET Ajax work and fit together. The talk is very accessible even if you have no prior knowledge of jQuery: http://channel9...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2008/11/03/pdc-2008-asp-net-ajax-futures-talk-available-online.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6718272" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/AJAX+Control+Toolkit/default.aspx">AJAX Control Toolkit</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JSON/default.aspx">JSON</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/PDC/default.aspx">PDC</category></item><item><title>Client templates in MSDN Magazine</title><link>http://weblogs.asp.net/bleroy/archive/2008/10/05/client-templates-in-msdn-magazine.aspx</link><pubDate>Mon, 06 Oct 2008 04:48:16 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6666014</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6666014</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/10/05/client-templates-in-msdn-magazine.aspx#comments</comments><description>My first full-length article in MSDN Magazine is out with the October issue and it’s about Microsoft AJAX client templates . Check it out… http://msdn.microsoft.com/en-us/magazine/cc972638.aspx Read More......(&lt;a href="http://weblogs.asp.net/bleroy/archive/2008/10/05/client-templates-in-msdn-magazine.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6666014" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JSON/default.aspx">JSON</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item><item><title>Using client templates, part 2: Live Bindings</title><link>http://weblogs.asp.net/bleroy/archive/2008/09/02/using-client-templates-part-2-live-bindings.aspx</link><pubDate>Wed, 03 Sep 2008 06:58:41 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6594663</guid><dc:creator>Tales from the Evil Empire : Microsoft AJAX Library</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/atlas-team/rsscomments.aspx?PostID=6594663</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/09/02/using-client-templates-part-2-live-bindings.aspx#comments</comments><description>In part 1 , we saw how to use DataView to render JavaScript data using a simple template. In this post, we&amp;#39;ll see how rich bindings unlock richer scenarios where user changes automatically propagate back to the data and to all UI that is bound to it. In part 1 , we used the simplest type of binding, one-way, one-time bindings. These bindings are created using the {{ expression }} syntax, which is both simple and rich in that it enables arbitrary JavaScript expressions. This is made possible by the fact that templates are compiled by the Ajax framework into a JavaScript function and these bindings get embedded right into that generated function. Because of that, the binding gets evaluated only once, when the template is instantiated. For...(&lt;a href="http://weblogs.asp.net/bleroy/archive/2008/09/02/using-client-templates-part-2-live-bindings.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6594663" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/atlas-team/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/atlas-team/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category></item></channel></rss>