<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Matt Gibbs blog : ASP.NET AJAX</title><link>http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx</link><description>Tags: ASP.NET AJAX</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Update for the iPhone Update</title><link>http://blogs.msdn.com/mattgi/archive/2007/09/11/update-for-the-iphone-update.aspx</link><pubDate>Wed, 12 Sep 2007 08:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4875747</guid><dc:creator>mattgi</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/4875747.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=4875747</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-themecolor: text1"&gt;After installing the iPhone 1.01 software update, iPhone users may notice that what used to be an asynchronous request from the browser is now a syncrhonous request.&amp;nbsp; They may notice other symptoms of&amp;nbsp;an underlying problems as well.&amp;nbsp; The update changes the way regular expressions are processed by the Safari browser and adversely affects a regular expression used by the Microsoft AJAX Library for JSON serialization.&amp;nbsp; An updated&amp;nbsp;regular expression preserves the functionality and works with the new Safari behavior.&amp;nbsp;The regular expression is in a script file served from the System.Web.Extensions.dll on the server by default.&amp;nbsp; Here are the set of steps you can take to have the scripts served from the file system instead with an updated version compatible with the iPhone change.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-themecolor: text1"&gt;Download the Microsoft AJAX Library scripts from &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;&lt;A href="http://asp.net/ajax/downloads/library/default.aspx" mce_href="http://asp.net/ajax/downloads/library/default.aspx"&gt;&lt;SPAN style="COLOR: black; mso-themecolor: text1"&gt;http://asp.net/ajax/downloads/library/default.aspx&lt;/SPAN&gt;&lt;/A&gt; .&amp;nbsp; Open the zip file and copy the contents of the System.Web.Extensions folder into a directory of your application, let's call it Scripts for now.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-themecolor: text1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;Change the ScriptReference instances of your AJAX pages to to include a ScriptPath attribute that refers to the directory where you have copied the scripts.&lt;BR&gt;&amp;lt;asp:ScriptManager ScriptPath="~/&lt;SPAN style="BACKGROUND: yellow"&gt;Scripts]&lt;/SPAN&gt; "&amp;nbsp; /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-themecolor: text1"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;Update the debug&amp;nbsp;and release scripts.&amp;nbsp; In MicrosoftAjax.debug.js, find this:&lt;BR&gt;&lt;SPAN style="mso-no-proof: yes"&gt;Sys.Serialization.JavaScriptSerializer._stringRegEx = new RegExp(&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;'["\b\f\n\r\t\\\\\x00-\x1F]'&lt;/SPAN&gt;, 'i');&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;and replace it with this:&lt;BR&gt;&lt;SPAN style="mso-no-proof: yes"&gt;Sys.Serialization.JavaScriptSerializer._stringRegEx = new RegExp(&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;'["\\b\\f\\n\\r\\t\\\\\\x00-\\x1F]'&lt;/SPAN&gt;, 'i');&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;In the release version of the script, you are updating the same RegExp, but it is a little trickier because the whitespace has been stripped from the file, so be particularly careful to leave the surrounding code untouched:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;...ScriptSerializer");Sys.Serialization.JavaScriptSerializer._stringRegEx=new RegExp('&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;["\\b\\f\\n\\r\\t\\\\\\x00-\\x1f]&lt;/SPAN&gt;',"i");Sys.Serialization...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;Known Issue:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;The .zip file does not include localized copies of the scripts.&amp;nbsp; If you enable Script Localization on the ScriptManager, it will generate requests for localized versions of the scripts and will now be looking for them on disk.&amp;nbsp; The workaround is to rename the script files to MicrosoftAjax.en.js and MicrosoftAjax.debug.en.js and add ResourceUICultures="en" to the ScriptReference.&amp;nbsp; You do not need to modify the path or name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-themecolor: text1"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4875747" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>An excerpt from the Professional ASP.NET AJAX book</title><link>http://blogs.msdn.com/mattgi/archive/2007/08/05/an-excerpt-from-the-professional-asp-net-ajax-book.aspx</link><pubDate>Sun, 05 Aug 2007 10:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4237591</guid><dc:creator>mattgi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/4237591.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=4237591</wfw:commentRss><description>Jim Minatel from Wrox has arranged for an excerpt from the book to be made available online.&amp;nbsp; It's a section titled Enabling Intenret Explorer for Debuggng ASP.NET&amp;nbsp; authored by Dan Wahlin.&amp;nbsp; You can check it out at:&amp;nbsp; &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://www.wrox.com/WileyCDA/Section/id-305946.html"&gt;http://www.wrox.com/WileyCDA/Section/id-305946.html&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4237591" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Wrox releases Professional ASP.NET AJAX title</title><link>http://blogs.msdn.com/mattgi/archive/2007/06/13/wrox-releases-professional-asp-net-ajax-title.aspx</link><pubDate>Wed, 13 Jun 2007 22:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3273234</guid><dc:creator>mattgi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/3273234.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=3273234</wfw:commentRss><description>&lt;P&gt;Well, I've been asked three times now why I haven't blogged about my book, so here it is.&amp;nbsp; I worked with Dan Wahlin and Wrox to create a book about ASP.NET AJAX.&amp;nbsp; The book covers the UpdatePanel, ScriptManager and other server controls, discusses how the Microsoft AJAX Library works and how you can more easily invoke web services, provide client-side event handlers, debug and deploy your AJAX application and write custom AJAX controls.&amp;nbsp; Check it out at Amazon &lt;A class="" title="Professional ASP.NET AJAX" href='http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FProfessional-ASP-NET-AJAX-Matt-Gibbs%2Fdp%2F0470109629%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1181762304%26sr%3D8-2&amp;amp;tag=matgibblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Professional ASP.NET AJAX&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=matgibblo-20&amp;amp;amp;l=ur2&amp;amp;amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;' mce_href='http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FProfessional-ASP-NET-AJAX-Matt-Gibbs%2Fdp%2F0470109629%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1181762304%26sr%3D8-2&amp;amp;tag=matgibblo-20&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Professional ASP.NET AJAX&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=matgibblo-20&amp;amp;amp;l=ur2&amp;amp;amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;'&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3273234" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Validators update available</title><link>http://blogs.msdn.com/mattgi/archive/2007/05/12/validators-update-available.aspx</link><pubDate>Sat, 12 May 2007 17:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2572081</guid><dc:creator>mattgi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/2572081.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=2572081</wfw:commentRss><description>&lt;P&gt;The release on Windows Update that contains&amp;nbsp;updates to enable the validator controls to work with the UpdatePanel has been delayed.&amp;nbsp;&amp;nbsp;However, you can download&amp;nbsp;a HotFix that contains the changes.&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=6106"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=6106&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2572081" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>New episode of the .NET Show about ASP.NET AJAX</title><link>http://blogs.msdn.com/mattgi/archive/2007/04/25/new-episode-of-the-net-show-about-asp-net-ajax.aspx</link><pubDate>Thu, 26 Apr 2007 01:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2276763</guid><dc:creator>mattgi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/2276763.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=2276763</wfw:commentRss><description>&lt;P&gt;I recently filmed an episode of the .NET Show with Brad Abrams (&lt;A href="http://blogs.msdn.com/brada/" mce_href="http://blogs.msdn.com/brada/"&gt;http://blogs.msdn.com/brada/&lt;/A&gt;) and Bertrand Le Roy (&lt;A href="http://weblogs.asp.net/bleroy/" mce_href="http://weblogs.asp.net/bleroy/"&gt;http://weblogs.asp.net/bleroy/&lt;/A&gt;).&amp;nbsp;&amp;nbsp; Brad asked for suggestions of words to work into the interview before we did it (&lt;A href="http://blogs.msdn.com/brada/archive/2007/02/16/filming-ajax-on-the-net-show.aspx" mce_href="http://blogs.msdn.com/brada/archive/2007/02/16/filming-ajax-on-the-net-show.aspx"&gt;http://blogs.msdn.com/brada/archive/2007/02/16/filming-ajax-on-the-net-show.aspx&lt;/A&gt;).&amp;nbsp; I believe I won that challenge, but I can't be a participant and the judge as well.&lt;/P&gt;
&lt;P&gt;Thanks to Robert Hess and the rest of those that have been working on the .NET Show.&amp;nbsp; Here is a link to the episode&amp;nbsp; &lt;A href="http://msdn.microsoft.com/theshow/episode.aspx?xml=theshow/en/episode062/manifest.xml" mce_href="http://msdn.microsoft.com/theshow/episode.aspx?xml=theshow/en/episode062/manifest.xml"&gt;http://msdn.microsoft.com/theshow/episode.aspx?xml=theshow/en/episode062/manifest.xml&lt;/A&gt;&amp;nbsp;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2276763" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category></item><item><title>PodCast about ASP.NET AJAX</title><link>http://blogs.msdn.com/mattgi/archive/2007/01/29/podcast-about-atlas.aspx</link><pubDate>Tue, 30 Jan 2007 08:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1555324</guid><dc:creator>mattgi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/1555324.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=1555324</wfw:commentRss><description>I got the chance to do a Podcast with Wally McClure.&amp;nbsp; You can get to it &lt;A class="" href="http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2007/01/26/asp-net-podcast-show-84-interview-with-matt-gibbs.aspx" mce_href="http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2007/01/26/asp-net-podcast-show-84-interview-with-matt-gibbs.aspx"&gt;here&lt;/A&gt;. &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1555324" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category></item><item><title>ASP.NET AJAX Validators</title><link>http://blogs.msdn.com/mattgi/archive/2007/01/23/asp-net-ajax-validators.aspx</link><pubDate>Wed, 24 Jan 2007 01:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1516974</guid><dc:creator>mattgi</dc:creator><slash:comments>40</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/1516974.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=1516974</wfw:commentRss><description>&lt;P&gt;ASP.NET AJAX provides new APIs for registering script with the ScriptManager.&amp;nbsp; Using these APIs allows controls to work well with partial rendering.&amp;nbsp; Without them, controls placed inside an UpdatePanel won't work as expected. In previous CTP releases of ASP.NET AJAX, we had a set of validator controls that derived from the v2.0 controls and used the new APIs. This made them work well with ASP.NET AJAX. WindowsUpdate will soon include a version of System.Web that can take advantage of the new APIs.&amp;nbsp; So the new controls which would have been redundant have been removed.&amp;nbsp; However, the update isn't available yet and ASP.NET AJAX has been released.&amp;nbsp; So, in the short-term, the source code for a set of custom validator controls that work with partial rendering is available &lt;A class="" title=Validators href="http://blogs.msdn.com/mattgi/attachment/1516974.ashx" mce_href="http://blogs.msdn.com/mattgi/attachment/1516974.ashx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The .zip file includes a solution and .csproj file as well as the compiled DLL.&amp;nbsp; Just put the DLL in the /bin directory of your application and include the following &amp;lt;tagMapping section in the pages section of the web.config.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tagMapping&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagType="System.Web.UI.WebControls.CompareValidator"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mappedTagType="Sample.Web.UI.Compatibility.CompareValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagType="System.Web.UI.WebControls.CustomValidator"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mappedTagType="Sample.Web.UI.Compatibility.CustomValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagType="System.Web.UI.WebControls.RangeValidator"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mappedTagType="Sample.Web.UI.Compatibility.RangeValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagType="System.Web.UI.WebControls.RegularExpressionValidator" mappedTagType="Sample.Web.UI.Compatibility.RegularExpressionValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagType="System.Web.UI.WebControls.RequiredFieldValidator"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mappedTagType="Sample.Web.UI.Compatibility.RequiredFieldValidator, Validators, Version=1.0.0.0"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagType="System.Web.UI.WebControls.ValidationSummary"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mappedTagType="Sample.Web.UI.Compatibility.ValidationSummary, Validators, Version=1.0.0.0"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tagMapping&amp;gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1516974" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/mattgi/attachment/1516974.ashx" length="32950" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category></item><item><title>ASP.NET AJAX Release Candidate</title><link>http://blogs.msdn.com/mattgi/archive/2006/12/14/asp-net-ajax-release-candidate.aspx</link><pubDate>Fri, 15 Dec 2006 08:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1291889</guid><dc:creator>mattgi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/1291889.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=1291889</wfw:commentRss><description>&lt;P&gt;The ASP.NET AJAX Release Candidate is available &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8FA6E076-582B-440F-95CB-C40ED23FDF59&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=8FA6E076-582B-440F-95CB-C40ED23FDF59&amp;amp;displaylang=en"&gt;here&lt;/A&gt;.&amp;nbsp; A major change between beta2 and the RC is the switch from the Microsoft.Web.* namespace to the System.Web.* namespace.&amp;nbsp; It's a straightforward update to exisiting code and should simplify things going forward into the next release of the .NET Framework.&amp;nbsp;No other major changes are expected between now and the final release.&lt;/P&gt;
&lt;P&gt;At this point, we are only taking high priority fixes and will release before too much longer.&amp;nbsp; If you encounter problems, please let us know.&amp;nbsp; And thanks to those who have provided feedback so far. It has helped us prioritize our work and while we haven't been able to include everything we would like for this release, I do think we have a solid release coming and am looking forward to adding more features in our next release.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1291889" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Using PageMethods to access Session data</title><link>http://blogs.msdn.com/mattgi/archive/2006/11/15/accessing-session-data-from-javascript.aspx</link><pubDate>Wed, 15 Nov 2006 11:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1080377</guid><dc:creator>mattgi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/1080377.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=1080377</wfw:commentRss><description>&lt;P&gt;Here is one of the samples I was asked for at TechEd last week.&amp;nbsp; How to access session state data from the browser.&amp;nbsp; There are two C# methods in the page.&amp;nbsp; One overrides the the OnLoad method and stores a value in session state for demonstration purposes.&amp;nbsp; The other is a static method decorated with the WebMethod attribute that can be called from JavaScript.&amp;nbsp;It retrieves&amp;nbsp;the value for the given key from session state.&amp;nbsp; Currently, only static methods are callable use the PageMethods object in the browser. 
&lt;P&gt;In the JavaScript code, there is a pageLoad method which will be called automatically by the ASP.NET AJAX script library.&amp;nbsp; The PageMethods object is used to invoke the method on the server.&amp;nbsp; It provides callbacks for success and error.&amp;nbsp; The success callback just displays the value retrieved from session state on the server.&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT size=2&gt;
&lt;P&gt;&amp;lt;%&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;@&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;Import&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Namespace&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="System.Web.Services"&lt;/FONT&gt;&lt;FONT size=2&gt; %&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;script&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;language&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="C#"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;protected override void OnLoad(EventArgs e) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpContext.Current.Session["foo"] = "bar";&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;[WebMethod]&lt;BR&gt;public static string Session(string key) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (string)HttpContext.Current.Session[key];&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;script&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;script&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="text/javascript"&amp;gt;&lt;BR&gt;function&lt;/FONT&gt;&lt;FONT size=2&gt; pageLoad(sender, arg) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PageMethods.Session(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"foo"&lt;/FONT&gt;&lt;FONT size=2&gt;, OnCallComplete, OnCallError);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;function&lt;/FONT&gt;&lt;FONT size=2&gt; OnCallComplete(result, userContext, methodName) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(result);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;function&lt;/FONT&gt;&lt;FONT size=2&gt; OnCallError(error, userContext, methodName) {&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/FONT&gt;&lt;FONT size=2&gt;(error !== &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(error.get_message());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;script&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;form&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="server"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;scriptmanager&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;id&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="scriptmanager"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;BR&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;form&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1080377" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>ASP.NET AJAX beta 2 is released</title><link>http://blogs.msdn.com/mattgi/archive/2006/11/06/asp-net-ajax-beta-2-is-released.aspx</link><pubDate>Tue, 07 Nov 2006 03:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1007666</guid><dc:creator>mattgi</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/1007666.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=1007666</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Well, just a few short weeks and some very late nights after the first beta was released, we have released beta 2 of ASP.NET AJAX.&amp;nbsp; There are three different pieces you can download:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;1) ASP.NET AJAX Extensions beta 2 is available &lt;A href="http://go.microsoft.com/fwlink/?LinkID=77296" mce_href="http://go.microsoft.com/fwlink/?LinkID=77296"&gt;here&lt;/A&gt;.&amp;nbsp; This is the core part of the ASP.NET AJAX offering and required for the other parts to work.&amp;nbsp; It includes the Microsoft AJAX Library which is the JavaScript libraries that can be used in the browser for more easily writing maintainable object-oriented JavaScript code that interacts with the DOM.&amp;nbsp; The Microsoft AJAX Library can be downloaded separately as a zip file here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;2) The ASP.NET AJAX 2.0 Futures November CTP is available &lt;A href="http://go.microsoft.com/fwlink/?LinkID=77294" mce_href="http://go.microsoft.com/fwlink/?LinkID=77294"&gt;&lt;FONT color=#0000ff&gt;here&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; This naming is a little different than what we have used before.&amp;nbsp; This is a set of functionality that builds on top of the core ASP.NET AJAX Extensions release.&amp;nbsp; Some of the code has been around awhile and continues to evolve, while some of what we will include in the Futures CTP may shift more dramatically based on feedback and further scenario work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;3) The AJAX Control Toolkit is available &lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit&amp;amp;ReleaseId=983" mce_href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit&amp;amp;ReleaseId=983"&gt;here&lt;/A&gt;.&amp;nbsp; It builds on top of the ASP.NET AJAX Extensions but does not requires the Futures CTP.&amp;nbsp; This rich set of controls, behaviors and extenders are released with the source code.&amp;nbsp; Developers-at-large contribute to the code and are the major driving force behind the release.&amp;nbsp; A special thanks to the team for reacting to some late breaking changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Speaking of late breaking changes, there are a couple of things about beta 2 that you should know.&amp;nbsp; Sorry that this post looks like a list of lists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;1) Scripts resource requests are now routed to a new handler.&amp;nbsp; You need the following line in the &amp;lt;handlers&amp;gt; section of your web.config for things to work with beta 2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt"&gt;&amp;lt;add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;2) Script pages you include using the ScriptManager need a new line at the bottom to alert the client-side runtime that the script has loaded.&amp;nbsp; This is to provide functionality in browsers that don't have the same eventing semantics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;As always, I welcome your feedback as you start using the release.&amp;nbsp; We are feature complete now and the release date is driven entirely by dealing withing any lingering issues we have missed.&amp;nbsp; Major feature work and further work on Futures CTP items will be slated for our next release&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1007666" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category></item><item><title>Starting a Blog</title><link>http://blogs.msdn.com/mattgi/archive/2006/11/03/starting-a-blog.aspx</link><pubDate>Fri, 03 Nov 2006 22:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:949684</guid><dc:creator>mattgi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mattgi/comments/949684.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mattgi/commentrss.aspx?PostID=949684</wfw:commentRss><description>&lt;P&gt;While&amp;nbsp;I have been preparing for my &lt;A class="" href="http://www.mseventseurope.com/TechEd/06/pre/defaultdev.aspx" mce_href="http://www.mseventseurope.com/TechEd/06/pre/defaultdev.aspx"&gt;TechEd Europe&lt;/A&gt; presentation next week, I have been asked several times for the blog address where I will post my slides.&amp;nbsp; Starting a blog has been on my list of things to do for some time, so I guess this is the forcing function.&amp;nbsp; I am a Development Manager on the UI Framework and Services team, responsible for &lt;A class="" href="http://www.asp.net/" mce_href="http://www.asp.net/"&gt;ASP.NET&lt;/A&gt; and &lt;A class="" href="http://ajax.asp.net/" mce_href="http://ajax.asp.net/"&gt;ASP.NET AJAX&lt;/A&gt; among other things.&amp;nbsp; My intent here is to share info about the technologies I work on, and respond to common inquiries&amp;nbsp;about developing applications.&amp;nbsp;Developer feedback is key for&amp;nbsp;guiding our product decisions, so don't hesitate to send me your thoughts.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A quick note of background about me:&amp;nbsp; I joined the IIS web server team at Microsoft in 1997 working on&amp;nbsp;what&amp;nbsp;is now&amp;nbsp;generally referred to as "classic" ASP.&amp;nbsp; I worked on the IIS5 release, shipped the Mobile Controls for v1.0 of the .NET Framework, and then helped deliver .NET Framework versions 1.1 and 2.0.&amp;nbsp; Now we are working on the ASP.NET AJAX Extensions as well as the next release of the .NET Framework code-named "Orcas."&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=949684" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mattgi/archive/tags/Atlas/default.aspx">Atlas</category></item></channel></rss>