<?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>Tales from the Evil Empire : Ajax Control Toolkit</title><link>http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx</link><description>Tags: Ajax Control Toolkit</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Ajax Control Toolkit: new controls, bug fixes</title><link>http://weblogs.asp.net/bleroy/archive/2009/09/30/ajax-control-toolkit-new-controls-bug-fixes.aspx</link><pubDate>Thu, 01 Oct 2009 00:28:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7220674</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=7220674</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/09/30/ajax-control-toolkit-new-controls-bug-fixes.aspx#comments</comments><description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="(c) Bertrand Le Roy 2006" border="0" alt="(c) Bertrand Le Roy 2006" align="right" src="http://weblogs.asp.net/blogs/bleroy/101327811_c6608a9e1b_b_31770601.jpg" width="244" height="164" /&gt; And we have a new release of Ajax Control Toolkit. I didn’t work on this one but there are some nice things in there nonetheless :)&lt;/p&gt;  &lt;p&gt;First, new controls!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Seadragon/Seadragon.aspx"&gt;SeaDragon&lt;/a&gt;&lt;/strong&gt;: I’ve &lt;a href="http://weblogs.asp.net/bleroy/archive/2008/11/20/deep-zoom-without-silverlight.aspx"&gt;blogged&lt;/a&gt; &lt;a href="http://weblogs.asp.net/bleroy/archive/2009/02/13/virtualalbion-using-deep-zoom-and-seadragon-ajax.aspx"&gt;before&lt;/a&gt; about &lt;a href="http://seadragon.com/"&gt;Seadragon&lt;/a&gt;, the JavaScript-only way to do &lt;a href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;Deep Zoom&lt;/a&gt;. It became a lot easier to use a few month ago when the need for tools disappeared and you can just &lt;a href="http://seadragon.com/create/"&gt;point to any image on the web&lt;/a&gt; and immediately get the &lt;a href="http://seadragon.com/view/bqy"&gt;URL&lt;/a&gt; and script tag to put on your page:&lt;/p&gt; &lt;script src="http://seadragon.com/embed/bqy.js?width=auto&amp;amp;height=400px"&gt;&lt;/script&gt;  &lt;p&gt;Now with this release of Ajax Control Toolkit, &lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Seadragon/Seadragon.aspx"&gt;including and controlling Deep Zoom from an ASP.NET page is also very easy&lt;/a&gt;:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ajaxToolkit&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Seadragon &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Seadragon&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: red"&gt;CssClass&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;seadragon&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: red"&gt;SourceUrl&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;sample.xml&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;James Senior just released a &lt;a href="http://channel9.msdn.com/posts/jsenior/Seadragon-Ajax-Control-Quick-Start-Guide/"&gt;screencast&lt;/a&gt; on how to create Deep Zoom contents for the new Seadragon control:

  &lt;br /&gt;&lt;a href="http://channel9.msdn.com/posts/jsenior/Seadragon-Ajax-Control-Quick-Start-Guide/"&gt;http://channel9.msdn.com/posts/jsenior/Seadragon-Ajax-Control-Quick-Start-Guide/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/AsyncFileUpload/AsyncFileUpload.aspx"&gt;AsyncFileUpload&lt;/a&gt;&lt;/strong&gt;: This is by far one of the most requested controls for ACT. File upload fields, while a part of HTML, do not work with Ajax/XHR requests (for security reasons, JavaScript can’t access the contents of the field). The only way to use them is to get the browser to do a real form post.&lt;/p&gt;

&lt;p&gt;This new control makes it a lot easier to handle file uploads from your Ajax applications by providing an abstraction on top of the form posting:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ajaxToolkit&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;AsyncFileUpload
    &lt;/span&gt;&lt;span style="color: red"&gt;OnClientUploadError&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;uploadError&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: red"&gt;OnClientUploadComplete&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;uploadComplete&amp;quot; 
    &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;AsyncFileUpload1&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;400px&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;UploaderStyle&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Modern&amp;quot; 
    &lt;/span&gt;&lt;span style="color: red"&gt;UploadingBackColor&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;#CCFFFF&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: red"&gt;ThrobberID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;myThrobber&amp;quot;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;It works pretty much as advertised: just drop the control on the page, and you can upload files without a full postback. It looks just like Ajax and requires no plug-in of any kind.&lt;img style="border-right-width: 0px; margin: 10px auto; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AsyncFileUpload" border="0" alt="AsyncFileUpload" src="http://weblogs.asp.net/blogs/bleroy/AsyncFileUpload_6D7321E9.png" width="519" height="262" /&gt; &lt;/p&gt;

&lt;p&gt;The control has client and server-side events that get triggered when the file has been uploaded. On the server-side, you have access to the uploaded file’s byte stream, which you can save to disk (or database, or whatever).&lt;/p&gt;

&lt;p&gt;Bug fixes: This release also has some new bug fixes (courtesy of &lt;a href="http://obout.com/"&gt;Obout&lt;/a&gt;) for some of the &lt;a title="Click on &amp;quot;Votes&amp;quot; on the right-side of the page to sort by votes." href="http://ajaxcontroltoolkit.codeplex.com/WorkItem/List.aspx"&gt;top-voted issues&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Download the new release here: 
  &lt;br /&gt;&lt;a href="http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33804"&gt;http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33804&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try the live demos here: 
  &lt;br /&gt;&lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/"&gt;http://www.asp.net/ajax/ajaxcontroltoolkit/samples/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stephen's in-depth post about this release:
&lt;br/&gt;&lt;a href="http://stephenwalther.com/blog/archive/2009/10/01/new-ajax-control-toolkit-release.aspx"&gt;http://stephenwalther.com/blog/archive/2009/10/01/new-ajax-control-toolkit-release.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7220674" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Deep+Zoom/default.aspx">Deep Zoom</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/CodePlex/default.aspx">CodePlex</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:7109236</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=7109236</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>&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bleroy/Bug_50FD5922.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="(c) Bertrand Le Roy 2003" border="0" alt="(c) Bertrand Le Roy 2003" align="left" src="http://weblogs.asp.net/blogs/bleroy/Bug_thumb_774F16A0.jpg" width="254" height="184" /&gt;&lt;/a&gt; Several people have &lt;a href="http://ajaxcontroltoolkit.codeplex.com/WorkItem/View.aspx?WorkItemId=13134"&gt;reported&lt;/a&gt; seeing errors in their logs that seem to be due to requests such as this:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;/ScriptResource.axd?d=     &lt;br /&gt;[lots of junk]&lt;strong&gt;&amp;amp;amp;       &lt;br /&gt;&lt;/strong&gt;t=ffffffffee24147c&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The important part here is the HTML-encoded “&amp;amp;amp;” sequence, which stands for “&amp;amp;” of course. &lt;em&gt;If&lt;/em&gt; 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: &lt;a href="http://ajaxcontroltoolkit.codeplex.com/WorkItem/View.aspx?WorkItemId=13134"&gt;http://ajaxcontroltoolkit.codeplex.com/WorkItem/View.aspx?WorkItemId=13134&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course, when people see 500 errors popping up in their server logs, they immediately assume the application is failing for some users. Or that some idiot at Microsoft did something incredibly stupid (that’s what we idiots at Microsoft do after all).&lt;/p&gt;  &lt;p&gt;Case in point, a quick peek into the source code of the application’s pages immediately reveals that the script tags generated by ScriptManager do indeed generate these URLs:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;script src=&amp;quot;/ScriptResource.axd?d=[lots of junk]&amp;amp;amp;t=ffffffff8824ac28&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;So that’s where it came from! See? &lt;strong&gt;When I copy this URL into the browser’s URL bar, I do get the same error!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Then ensue various more or less rational reactions such as:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Correlate the user agent to the faulty requests (which correlates more or less with normal browser usage, i.e. lots of IE and then lots of Firefox, when there is a large enough sample).&lt;/li&gt;    &lt;li&gt;Blame IE6 (lots of these requests come from IE6, hence it must be responsible: IE6 sucks).&lt;/li&gt;    &lt;li&gt;“Fix” ScriptManager and remove the HTML encoding.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Well, by copying the URL from the source view into the URL bar, you did indeed reproduce the problem. A little too well. Better than you realize.&lt;/p&gt;  &lt;p&gt;This is why. &lt;strong&gt;All of the errors in your server logs come from people doing precisely what you just did&lt;/strong&gt;: copy the URL from the source view into the browser’s URL bar. They do it for various reasons: look at the source code for the scripts, understand what these weird URLs are, who knows?&lt;/p&gt;  &lt;p&gt;But the point is, you will never be able to reproduce these errors during normal use of the application. There is nothing to fix here. The value that gets sent to the server never has the “&amp;amp;amp;” sequence. You can verify it in IE6, you can verify it in any browser on any OS, it will just work.&lt;/p&gt;  &lt;p&gt;When putting a URL in an HTML attribute, you should &lt;strong&gt;*always*&lt;/strong&gt; HTML-encode it. It’s the standard, and for good reason (it enables the browser to tell between “&amp;amp;”, “&amp;amp;amp;” and “&amp;amp;amp;amp;”, it enables quotes to be embedded into attributes, etc.).&lt;/p&gt;  &lt;p&gt;A consequence of that is that if you’re going to copy the value of one of these attributes from the source view, you should do what the browser does when parsing the HTML: decode the value first (in other words, replace “&amp;amp;amp;” with “&amp;amp;”).&lt;/p&gt;  &lt;p&gt;So yes, people do fail to do that and copy the URL without decoding. Well, they are not supposed to do that, nor do they need to do it. The error is normal, it results from a bad URL having been entered manually. Nobody would be surprised to get an error when querying foo.aspx?somenumber=thisisnotanumber for example. Same thing here. Pretty much.&lt;/p&gt;  &lt;p&gt;Of course, this is not entirely trivial to figure out and I did pull my remaining hair a bit trying to understand what was going on, and you tend to trust people when they tell you there is a problem, especially when the description seems to make sense. There is some sort of confirmation bias going on there. But the more I looked at the different pieces of evidence, the more this explanation looked like the most likely, by far.&lt;/p&gt;  &lt;p&gt;But of course, I may be missing something…&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7109236" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category></item><item><title>Survey: Ajax usage among .NET developers</title><link>http://weblogs.asp.net/bleroy/archive/2009/05/22/survey-ajax-usage-among-net-developers.aspx</link><pubDate>Fri, 22 May 2009 19:13:20 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7094884</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=7094884</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/05/22/survey-ajax-usage-among-net-developers.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bleroy/Copenhagen_36DBEC47.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="(c) Bertrand Le Roy 2003" border="0" alt="(c) Bertrand Le Roy 2003" align="left" src="http://weblogs.asp.net/blogs/bleroy/Copenhagen_thumb_55B26025.jpg" width="204" height="154" /&gt;&lt;/a&gt; If you haven’t already and you are a .NET developer, please take a couple minutes and answer this survey, whether you use Ajax or not. There are a number of Ajax surveys around, but Simone’s is the only one that focuses on .NET developers.&lt;/p&gt;  &lt;p&gt;The survey:   &lt;br /&gt;&lt;a title="http://www.zoomerang.com/Survey/?p=WEB22973CYKW2H" href="http://www.zoomerang.com/Survey/?p=WEB22973CYKW2H"&gt;http://www.zoomerang.com/Survey/?p=WEB22973CYKW2H&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Simone’s post:   &lt;br /&gt;&lt;a href="http://codeclimber.net.nz/archive/2009/05/21/ajax-usage-among-.net-developers-in-2009.aspx"&gt;http://codeclimber.net.nz/archive/2009/05/21/ajax-usage-among-.net-developers-in-2009.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094884" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/jQuery/default.aspx">jQuery</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:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7086151</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>50</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=7086151</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2009/05/13/new-release-of-the-ajax-control-toolkit.aspx#comments</comments><description>&lt;p&gt;A &lt;a href="http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326"&gt;new version of the AJAX Control Toolkit&lt;/a&gt; is now available for download from the CodePlex website. It contains three new controls:&lt;/p&gt;  &lt;p style="clear: both"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HtmlEditor" border="0" alt="HtmlEditor" align="left" src="http://weblogs.asp.net/blogs/bleroy/HtmlEditor_1E6A1BAC.png" width="244" height="159" /&gt; &lt;strong&gt;&lt;a href="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/HTMLEditor/HTMLEditor.aspx"&gt;HTMLEditor&lt;/a&gt;&lt;/strong&gt; - 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 &lt;a href="http://www.obout.com"&gt;Obout&lt;/a&gt; for building this.&lt;/p&gt;  &lt;p style="clear: both"&gt;&lt;br/&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" title="ComboBox" border="0" alt="ComboBox" align="right" src="http://weblogs.asp.net/blogs/bleroy/ComboBox_0834005A.png" width="162" height="244" /&gt; &lt;strong&gt;&lt;a href="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/ComboBox/ComboBox.aspx"&gt;ComboBox&lt;/a&gt;&lt;/strong&gt; - 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.&lt;/p&gt;  &lt;p style="clear: both"&gt;&lt;br/&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ColorPicker" border="0" alt="ColorPicker" align="left" src="http://weblogs.asp.net/blogs/bleroy/ColorPicker_23002666.png" width="238" height="189" /&gt; &lt;strong&gt;&lt;a href="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/ColorPicker/ColorPicker.aspx"&gt;ColorPicker&lt;/a&gt;&lt;/strong&gt; - can be attached to any ASP.NET TextBox control to provide client-side color-picking functionality from a popup. Many thanks to Alexander Turlov for building this.&lt;/p&gt;  &lt;p style="clear: both"&gt;&lt;br/&gt;The ASP.NET website has been updated with new &lt;a href="http://www.asp.net/learn/ajax-videos"&gt;videos&lt;/a&gt; and &lt;a href="http://www.asp.net/learn/ajax"&gt;tutorials&lt;/a&gt; for these controls.&lt;/p&gt;  &lt;p&gt;This new release also includes fixes for over 20 of the most voted bugs in existing AJAX Control Toolkit controls and now features minimized release versions of the script files.&lt;/p&gt;  &lt;p&gt;The release can be downloaded as a server dll or as a set of files for use with pure client-side applications.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326"&gt;http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27326&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7086151" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category></item><item><title>Putting more than one behavior on one element</title><link>http://weblogs.asp.net/bleroy/archive/2008/11/21/putting-more-than-one-behavior-on-one-element.aspx</link><pubDate>Sat, 22 Nov 2008 07:15:31 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6750014</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6750014</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/11/21/putting-more-than-one-behavior-on-one-element.aspx#comments</comments><description>&lt;p&gt;Microsoft Ajax has the interesting ability to combine more than one component onto a single element. In the previous talk, I alluded to this possibility and one of the commenters (Tiamat) asked me to show how this is done.&lt;/p&gt;  &lt;p&gt;Here is an example that combines the new EditInPlace behavior I showed yesterday with an AutoComplete and a Watermark from the Ajax Control Toolkit:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="background: #ffee62"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;@ &lt;/span&gt;&lt;span style="color: #a31515"&gt;Page &lt;/span&gt;&lt;span style="color: red"&gt;Language&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;C#&amp;quot; &lt;/span&gt;&lt;span style="background: #ffee62"&gt;%&amp;gt;
&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;@ &lt;/span&gt;&lt;span style="color: #a31515"&gt;Register &lt;/span&gt;&lt;span style="color: red"&gt;Assembly&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;AjaxControlToolkit&amp;quot;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: red"&gt;Namespace&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;AjaxControlToolkit&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;TagPrefix&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;act&amp;quot; &lt;/span&gt;&lt;span style="background: #ffee62"&gt;%&amp;gt;

&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: #a31515"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color: red"&gt;html PUBLIC &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot;&lt;br /&gt;     &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;

&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;html &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;head &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;title&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Many behaviors on a textbox&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;title&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;link &lt;/span&gt;&lt;span style="color: red"&gt;href&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;template.css&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;rel&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;stylesheet&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;text/css&amp;quot; /&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;head&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;body&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;form &lt;/span&gt;&lt;span style="color: red"&gt;id&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;form1&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;act&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ToolkitScriptManager &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;sm1&amp;quot;&lt;br /&gt;                              &lt;/span&gt;&lt;span style="color: red"&gt;EnablePartialRendering&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;false&amp;quot;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Scripts&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ScriptReference &lt;/span&gt;&lt;span style="color: red"&gt;Path&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;~/Script/EditInPlace.js&amp;quot; /&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Scripts&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;act&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ToolkitScriptManager&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;
        &lt;/span&gt;Sys.Application.add_init(&lt;span style="color: blue"&gt;function&lt;/span&gt;() {
            $create(Bleroy.Sample.EditInPlace,&lt;br /&gt;                { cssClass: &lt;span style="color: #a31515"&gt;&amp;quot;editInPlace&amp;quot; &lt;/span&gt;},
                {}, {}, $get(&lt;span style="color: #a31515"&gt;'&amp;lt;%= tb1.ClientID %&amp;gt;'&lt;/span&gt;));
        });
    &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;h1&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Many behaviors on a textbox&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;h1&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBox &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;tb1&amp;quot; /&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;act&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBoxWatermarkExtender &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;TargetControlID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;tb1&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;WatermarkText&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Click me...&amp;quot;/&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;act&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;AutoCompleteExtender &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;server&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;TargetControlID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;tb1&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;ServicePath&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Words.asmx&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;ServiceMethod&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;GetWords&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;BehaviorID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;AutoCompleteEx&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;autoComplete1&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;MinimumPrefixLength&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;3&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;CompletionInterval&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;500&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;EnableCaching&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;true&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;CompletionSetCount&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;20&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;CompletionListCssClass&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;br /&gt;                                &amp;quot;autocomplete_completionListElement&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;CompletionListItemCssClass&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;autocomplete_listItem&amp;quot; 
            &lt;/span&gt;&lt;span style="color: red"&gt;CompletionListHighlightedItemCssClass&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;br /&gt;                                &amp;quot;autocomplete_highlightedListItem&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;DelimiterCharacters&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;;, :&amp;quot;
            &lt;/span&gt;&lt;span style="color: red"&gt;ShowOnlyCurrentWordInCompletionListItem&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;true&amp;quot; &amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Animations&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
                &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;OnShow&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
                    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Sequence&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
                        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;OpacityAction &lt;/span&gt;&lt;span style="color: red"&gt;Opacity&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;0&amp;quot; /&amp;gt;
                        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;HideAction &lt;/span&gt;&lt;span style="color: red"&gt;Visible&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;true&amp;quot; /&amp;gt;
                        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;FadeIn &lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;
                    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Sequence&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
                &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;OnShow&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
                &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;OnHide&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
                    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;FadeOut &lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;
                &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;OnHide&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
            &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Animations&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;act&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;AutoCompleteExtender&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;div&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;body&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;html&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;The sample page here is using the extenders that the toolkit provides to instantiate the AutoComplete and Watermark behaviors but you really could include the script references and $create yourself. The edit in place behavior doesn’t have an associated server-side extender (but it would be quite easy to build one) so I’m just including the script and calling $create from client script. If you run this sample, you’ll see something like this:&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:061ec944-e3ed-4418-be47-97e16a80c975" class="wlWriterEditableSmartContent"&gt;&lt;div id="55ccfab0-7c6e-4727-be33-968a571a6048" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;a href="http://video.msn.com/video.aspx?vid=478fe482-c910-4ab2-a17d-89152c47dd13&amp;amp;from=writer" target="_new"&gt;&lt;img src="http://weblogs.asp.net/blogs/bleroy/video3dfef6d00d34_65A32F1B.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('55ccfab0-7c6e-4727-be33-968a571a6048'); downlevelDiv.innerHTML = &amp;quot;&amp;lt;div&amp;gt;&amp;lt;embed src=\&amp;quot;http://images.video.msn.com/flash/soapbox1_1.swf\&amp;quot; quality=\&amp;quot;high\&amp;quot; width=\&amp;quot;432\&amp;quot; height=\&amp;quot;364\&amp;quot; wmode=\&amp;quot;transparent\&amp;quot; type=\&amp;quot;application/x-shockwave-flash\&amp;quot; pluginspage=\&amp;quot;http://macromedia.com/go/getflashplayer\&amp;quot; flashvars=\&amp;quot;c=v&amp;amp;v=478fe482-c910-4ab2-a17d-89152c47dd13&amp;amp;from=writer&amp;amp;mkt=en-US\&amp;quot; &amp;gt;&amp;lt;\/embed&amp;gt;&amp;lt;\/div&amp;gt;&amp;quot;;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you view source in the browser, you’ll see that the code that the extender generates for the browser to run isn’t magical in any way, it’s just script tags and $create like we’d do manually.&lt;/p&gt;

&lt;p&gt;One thing to note is that I hit a bug in the Toolkit while building that sample: AutoComplete assumes the element it attaches to is visible when it calls focus on it, which is usually OK but fails here when used with the edit in place behavior. I fixed this bug by surrounding the focus call with a try/catch block. A build of the toolkit with this fix is included in the zip file for this sample.&lt;/p&gt;

&lt;p&gt;Bottom line is that more than one behavior on a single tag works great and makes for a formidable composition model.&lt;/p&gt;

&lt;p&gt;Download the code for this sample:
  &lt;br /&gt;&lt;a title="http://weblogs.asp.net/blogs/bleroy/Samples/ManyBehaviors.zip" href="http://weblogs.asp.net/blogs/bleroy/Samples/ManyBehaviors.zip"&gt;http://weblogs.asp.net/blogs/bleroy/Samples/ManyBehaviors.zip&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6750014" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</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:6718193</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6718193</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>&lt;P&gt;The full 83 minutes of &lt;A href="http://channel9.msdn.com/pdc2008/PC32/" mce_href="http://channel9.msdn.com/pdc2008/PC32/"&gt;my PDC talk&lt;/A&gt; are available on &lt;A href="http://channel9.msdn.com/" mce_href="http://channel9.msdn.com"&gt;the Channel 9 web site&lt;/A&gt;. You can &lt;A href="http://channel9.msdn.com/pdc2008/PC32/" mce_href="http://channel9.msdn.com/pdc2008/PC32/"&gt;watch the session online&lt;/A&gt; (using Silverlight) or download the video in a number of formats. &lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx"&gt;Slides&lt;/A&gt; and &lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP"&gt;source code for the demo&lt;/A&gt; are also available.&lt;/P&gt;
&lt;P&gt;&lt;A title="Watch the PDC 2008 ASP.NET AJAX Futures talk." href="http://channel9.msdn.com/pdc2008/PC32/" mce_href="http://channel9.msdn.com/pdc2008/PC32/"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="PDC 2008 ASP.NET AJAX Futures" border=0 alt="PDC 2008 ASP.NET AJAX Futures" src="http://weblogs.asp.net/blogs/bleroy/image_49E75279.png" width=504 height=258 mce_src="http://weblogs.asp.net/blogs/bleroy/image_49E75279.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Watch online: &lt;BR&gt;&lt;A title=http://channel9.msdn.com/pdc2008/PC32/ href="http://channel9.msdn.com/pdc2008/PC32/" mce_href="http://channel9.msdn.com/pdc2008/PC32/"&gt;http://channel9.msdn.com/pdc2008/PC32/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Download &lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/mp4/PC32.mp4" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/mp4/PC32.mp4"&gt;MP4 / iPod&lt;/A&gt;, &lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/ZUNE/PC32.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/ZUNE/PC32.wmv"&gt;Zune&lt;/A&gt;, &lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC32.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC32.wmv"&gt;WMV&lt;/A&gt; or &lt;A href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC32.wmv" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC32.wmv"&gt;WMV-HQ&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Slides: &lt;BR&gt;&lt;A title=http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx href="http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx"&gt;http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Demo code (contains MIT and MS-PL licensed JavaScript files): &lt;BR&gt;&lt;A title=http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP href="http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP" mce_href="http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP"&gt;http://mschnlnine.vo.llnwd.net/d1/pdc08/ZIP/PC32.ZIP&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/pdc2008/PC31/" mce_href="http://channel9.msdn.com/pdc2008/PC31/"&gt;Another talk you may be interested in is Stephen Walther's&lt;/A&gt;. 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: &lt;A href="http://channel9.msdn.com/pdc2008/PC31/"&gt;http://channel9.msdn.com/pdc2008/PC31/&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6718193" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/JSON/default.aspx">JSON</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/PDC/default.aspx">PDC</category></item><item><title>Using the Ajax Control Toolkit in ASP.NET MVC</title><link>http://weblogs.asp.net/bleroy/archive/2008/08/25/using-the-ajax-control-toolkit-in-asp-net-mvc.aspx</link><pubDate>Mon, 25 Aug 2008 19:20:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6564306</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6564306</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/08/25/using-the-ajax-control-toolkit-in-asp-net-mvc.aspx#comments</comments><description>&lt;P&gt;Stephen Walther has a pretty cool post on using the new &lt;A class="" href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488" mce_href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488"&gt;file-only version of the Ajax Control Toolkit&lt;/A&gt; from an MVC application:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://stephenwalther.com/blog/archive/2008/08/23/asp-net-mvc-tip-36-create-a-popup-calendar-helper.aspx"&gt;http://stephenwalther.com/blog/archive/2008/08/23/asp-net-mvc-tip-36-create-a-popup-calendar-helper.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE:&lt;/STRONG&gt; the problem with Stephen is that he writes quite fast. So pretty much in the time it took me to link to his first post, he wrote a second one, this time on using the AutoComplete behavior:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://stephenwalther.com/blog/archive/2008/08/24/asp-net-mvc-tip-37-create-an-auto-complete-text-field.aspx"&gt;http://stephenwalther.com/blog/archive/2008/08/24/asp-net-mvc-tip-37-create-an-auto-complete-text-field.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6564306" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/MVC/default.aspx">MVC</category></item><item><title>Ajax Control Toolkit released for .NET 3.5 SP1</title><link>http://weblogs.asp.net/bleroy/archive/2008/08/21/ajax-control-toolkit-released-for-net-3-5-sp1.aspx</link><pubDate>Thu, 21 Aug 2008 18:05:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6548149</guid><dc:creator>Bertrand Le Roy</dc:creator><slash:comments>32</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/bleroy/rsscomments.aspx?PostID=6548149</wfw:commentRss><comments>http://weblogs.asp.net/bleroy/archive/2008/08/21/ajax-control-toolkit-released-for-net-3-5-sp1.aspx#comments</comments><description>&lt;P&gt;I just released the &lt;A href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488" mce_href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488"&gt;&lt;FONT color=#dd4a21&gt;latest version&lt;/FONT&gt;&lt;/A&gt; of the &lt;A href="http://www.codeplex.com/AjaxControlToolkit" mce_href="http://www.codeplex.com/AjaxControlToolkit"&gt;&lt;FONT color=#dd4a21&gt;Ajax Control Toolkit&lt;/FONT&gt;&lt;/A&gt; for .NET 3.5 SP1.&lt;/P&gt;
&lt;P&gt;This is an intermediary release that provides a version of the Toolkit that is built against the .NET Framework 3.5 SP1. It contains a new control, MultiHandleSlider, built by Daniel Crenna (thanks, Daniel, you're the hero of this release) and integrates patches contributed by the community. A big thank you to all who contributed (see their names in the &lt;A href="http://www.codeplex.com/AjaxControlToolkit/Wiki/View.aspx?title=PatchHallOfFame&amp;amp;referringTitle=20820" mce_href="http://www.codeplex.com/AjaxControlToolkit/Wiki/View.aspx?title=PatchHallOfFame&amp;amp;referringTitle=20820"&gt;&lt;FONT color=#dd4a21&gt;hall of fame&lt;/FONT&gt;&lt;/A&gt;). &lt;BR&gt;The sample web site is not yet updated to this new release, this will be done in a couple of days. I will update this post once this is done.&lt;/P&gt;
&lt;P&gt;&lt;STRIKE&gt;In the very short term, we will provide&lt;/STRIKE&gt; We are also providing a client-side only version of the toolkit, similar to the &lt;A href="http://msdn.microsoft.com/en-us/asp.net/bb944808.aspx" mce_href="http://msdn.microsoft.com/en-us/asp.net/bb944808.aspx"&gt;&lt;FONT color=#dd4a21&gt;Microsoft Ajax Library&lt;/FONT&gt;&lt;/A&gt;, that enables the development of Toolkit-based applications that do not rely on server-side ASP.NET. This version can also be used in performance-intensive scenarios where resource-based scripts and resources are not desirable, or if you simply prefer to work with files. &lt;BR&gt;&lt;/P&gt;
&lt;H4&gt;What's next? &lt;/H4&gt;
&lt;P&gt;Our top priority following this release is bug fixing in order to get back to a stable and low number of bugs. We also have a number of contributors working on new controls, following the priorities the community communicated us. &lt;BR&gt;As usual, all feedback is very welcome.&lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488 href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488" mce_href="http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488"&gt;&lt;FONT color=#dd4a21&gt;http://www.codeplex.com/AjaxControlToolkit/Release/ProjectReleases.aspx?ReleaseId=16488&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE:&lt;/STRONG&gt; the file-only version of the toolkit is now available from the release page. I also added a dll-only download for people who just want the executable and no source or sample code.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6548149" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/bleroy/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://weblogs.asp.net/bleroy/archive/tags/Ajax+Control+Toolkit/default.aspx">Ajax Control Toolkit</category></item></channel></rss>