<?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>Hisham Elbreky : ASP.Net</title><link>http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx</link><description>Tags: ASP.Net</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Eye On .Net - episode 4</title><link>http://weblogs.asp.net/hishamelbreky/archive/2009/07/21/eye-on-net-episode-4.aspx</link><pubDate>Tue, 21 Jul 2009 11:57:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7152067</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>2</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2009/07/21/eye-on-net-episode-4.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Brad Abrams&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN" lang=EN&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;What is .NET RIA Services?&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Business Apps Example for Silverlight 3 RTM and .NET RIA Services July Update, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/10/amazing-business-apps-example-updated-for-silverlight-3-rtm-and-net-ria-services-july-update.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/10/amazing-business-apps-example-updated-for-silverlight-3-rtm-and-net-ria-services-july-update.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part1&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/11/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-1-rich-data-query.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/11/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-1-rich-data-query.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/13/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-3-authentication.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/13/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-3-authentication.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part3&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/14/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-4-seo-export-to-excel-and-out-of-browser.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/14/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-4-seo-export-to-excel-and-out-of-browser.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part4&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/15/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-5-astoria-add-reference-and-winforms.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/15/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-5-astoria-add-reference-and-winforms.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part5&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/16/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-6-data-transfer-objects-dtos.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/16/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-6-data-transfer-objects-dtos.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part6&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, &lt;A href="http://blogs.msdn.com/brada/archive/2009/07/21/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-7-services-based-data-store.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/21/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-7-services-based-data-store.aspx"&gt;part7&lt;/A&gt;,&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/17/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-8-wcf-based-data-source.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/17/business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update-part-8-wcf-based-data-source.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part&lt;/FONT&gt;8&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2009/07/20/simple-example-using-managed-extensibility-framework-in-silverlight.aspx" mce_href="http://blogs.msdn.com/brada/archive/2009/07/20/simple-example-using-managed-extensibility-framework-in-silverlight.aspx"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;Simple Example of Managed Extensibility Framework (MEF)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;in Silverlight&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Rob Bagby&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Azure Application, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/bags/archive/2009/04/10/azure-application-part-1-setup-and-running-hello-world.aspx" mce_href="http://blogs.msdn.com/bags/archive/2009/04/10/azure-application-part-1-setup-and-running-hello-world.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part1&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;(intro), &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/bags/archive/2009/04/14/azure-application-part-2-access-azure-table-storage.aspx" mce_href="http://blogs.msdn.com/bags/archive/2009/04/14/azure-application-part-2-access-azure-table-storage.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part2&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;(Access Azure Table Storage), &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/bags/archive/2009/04/17/azure-application-part-3-expose-rest-web-service-and-consume-in-silverlight.aspx" mce_href="http://blogs.msdn.com/bags/archive/2009/04/17/azure-application-part-3-expose-rest-web-service-and-consume-in-silverlight.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;part3&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;(Expose (REST) Web Service And Consume in Silverlight)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/bags/archive/2009/04/09/building-an-azure-application-from-the-ground-up.aspx" mce_href="http://blogs.msdn.com/bags/archive/2009/04/09/building-an-azure-application-from-the-ground-up.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Building An Azure Application From The Ground Up&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Dave Ward&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://feeds.encosia.com/~r/Encosia/~3/XOjPcX98NIo/" mce_href="http://feeds.encosia.com/~r/Encosia/~3/XOjPcX98NIo/"&gt;&lt;FONT size=3 face=Calibri&gt;Improving jQuery’s JSON performance and security&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://feeds.encosia.com/~r/Encosia/~3/CjlWNiqx02E/" mce_href="http://feeds.encosia.com/~r/Encosia/~3/CjlWNiqx02E/"&gt;&lt;FONT size=3 face=Calibri&gt;Never worry about ASP.NET AJAX’s .d again&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://feeds.encosia.com/~r/Encosia/~3/j3O6VrqWWWM/" mce_href="http://feeds.encosia.com/~r/Encosia/~3/j3O6VrqWWWM/"&gt;&lt;FONT size=3 face=Calibri&gt;11 keystrokes that made my jQuery selector run 10x faster&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Joe Stagner&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://misfitgeek.com/blog/i-rsquo-m-asked-how-did-you-learn-what-you-know/" mce_href="http://misfitgeek.com/blog/i-rsquo-m-asked-how-did-you-learn-what-you-know/"&gt;&lt;FONT size=3 face=Calibri&gt;I’m asked, how did you learn what you know ?&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://misfitgeek.com/blog/resources-for-learning-the-ado-net-entity-framework/" mce_href="http://misfitgeek.com/blog/resources-for-learning-the-ado-net-entity-framework/"&gt;&lt;FONT size=3 face=Calibri&gt;Resources for learning the ADO.NET Entity Framework&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://misfitgeek.com/blog/more-entity-framework-resources/" mce_href="http://misfitgeek.com/blog/more-entity-framework-resources/"&gt;&lt;FONT size=3 face=Calibri&gt;More Entity Framework Resources&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Oleg Sych&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #382e1f"&gt;&lt;A href="http://www.olegsych.com/2007/12/text-template-transformation-toolkit/" mce_href="http://www.olegsych.com/2007/12/text-template-transformation-toolkit/"&gt;&lt;FONT color=#800080 size=3&gt;Text Template Transformation Toolkit&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #382e1f"&gt;&lt;A href="http://www.olegsych.com/2008/05/t4-architecture" mce_href="http://www.olegsych.com/2008/05/t4-architecture"&gt;&lt;FONT size=3&gt;T4 Architecture&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #382e1f"&gt;&lt;A href="http://www.olegsych.com/2008/04/t4-template-design/" mce_href="http://www.olegsych.com/2008/04/t4-template-design/"&gt;&lt;FONT color=#800080 size=3&gt;T4 Template Design&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #382e1f"&gt;&lt;A href="http://www.olegsych.com/2008/03/code-generation-with-visual-studio-templates/" mce_href="http://www.olegsych.com/2008/03/code-generation-with-visual-studio-templates/"&gt;&lt;FONT size=3&gt;Code Generation with Visual Studio Templates&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Rick Strahl&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://feedproxy.google.com/~r/RickStrahl/~3/xc70BzlFil0/833802.aspx" mce_href="http://feedproxy.google.com/~r/RickStrahl/~3/xc70BzlFil0/833802.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Introducing CodePaste.NET&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://feedproxy.google.com/~r/RickStrahl/~3/DQe4wOZEV10/801489.aspx" mce_href="http://feedproxy.google.com/~r/RickStrahl/~3/DQe4wOZEV10/801489.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;How do ASP.NET Application_ Events Work&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://feedproxy.google.com/~r/rickstrahl/~3/CFYDVBHtLE0/740022.aspx" mce_href="http://feedproxy.google.com/~r/rickstrahl/~3/CFYDVBHtLE0/740022.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Creating Visual Studio Templates from your Web Projects&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Phil Haack&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://haacked.com/archive/2009/06/25/json-hijacking.aspx" mce_href="http://haacked.com/archive/2009/06/25/json-hijacking.aspx"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;JSON Hijacking&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-ascii-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://haacked.com/archive/2009/06/26/too-late-to-change-json.aspx" mce_href="http://haacked.com/archive/2009/06/26/too-late-to-change-json.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;Is It Too Late To Change JSON?&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7152067" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ADO.NET/default.aspx">ADO.NET</category></item><item><title>Web Developer Top up for Next Web Generation</title><link>http://weblogs.asp.net/hishamelbreky/archive/2009/07/16/web-developer-top-up-for-next-web-generation.aspx</link><pubDate>Thu, 16 Jul 2009 15:42:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7148599</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>3</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2009/07/16/web-developer-top-up-for-next-web-generation.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Web developers will need for some top up there web dev experience with new frameworks and technologies that will be required by new web development Trend, Web Developer should know about:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Javascript frameworks (&lt;/FONT&gt;&lt;A href="http://jquery.com/"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;Jquery&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;,&lt;/FONT&gt;&lt;A href="http://dojotoolkit.org/"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;Dojo&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; ….)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;2-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Service Oriented Architecting (&lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;SOA&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;), Web Services will play the first role in new trend&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;3-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://en.wikipedia.org/wiki/REST"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;REST&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; Architecture&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;4-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;Cloud Computing&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;5-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;A href="http://en.wikipedia.org/wiki/Model-driven_architecture"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;Model Driven Architecture&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;6-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Rich internet Applications (&lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Rich_Internet_application"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;RIA&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;) and User Experience (&lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/User_experience_design"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;UX&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;7-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Web 3.0 (ie. &lt;/FONT&gt;&lt;A href="http://code.google.com/apis/gears/"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;Google gears&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;)&lt;/FONT&gt;&lt;/P&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt; 
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The following is my view about Web based applications Trend&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Software applications moves toward Web due to web user experience and other Web based applications benefits at least user do zero effort to move from one version to another (Easy Deployment) and the big benefit is that web app is a client-server model by default &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;and other advantage of web based applications.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Number of users that use world wide web is in increasing due to technological progress and social changes, and then web applications should be ready for the upcoming users that will hit Web App Server, Web based Application should have architecture that will fit new changes and requirements.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;There will be two trends in web app UI architecting :&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Server Pages, Rendering all UI in server side by using Server pages and server web controls.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;2-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Native html and JavaScript frameworks, we can say bye bye server pages or server UI rendering (don’t worry about dynamic content the architecture pattern will explain how to do that).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;I’m with second trend “Native html and JavaScript frameworks” where is the right and nature path, most server performance is consumed by UI rendering and also bugs of development comes mostly from UI and developers founding themselves doing&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;client side scripting, with “Native html and JavaScript frameworks” there will be a thin layer on server side dealing with client side UI throw Web service.&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7148599" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>JQuery Tips</title><link>http://weblogs.asp.net/hishamelbreky/archive/2009/06/04/jquery-tips.aspx</link><pubDate>Thu, 04 Jun 2009 13:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7108063</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>2</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2009/06/04/jquery-tips.aspx#comments</comments><description>&lt;P&gt;&lt;STRONG&gt;Selectors:&lt;/STRONG&gt;&lt;BR&gt;Getting text box value&lt;BR&gt;$(“#TextBoxId”).val();&lt;BR&gt;Chang or set label text&lt;BR&gt;$(“#LabelId”).text(“Your Text”);&lt;BR&gt;Set control CSS “i.e td border width”&lt;BR&gt;$(“#td_id”).css('border-width', '1px');&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;Animation:&lt;/STRONG&gt;&lt;BR&gt;Display DIV element with animation&lt;BR&gt;&amp;nbsp;$("#div-id").show("slow");&lt;BR&gt;$("#div-id").hide("slow");&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;Swap Items between two lists &lt;BR&gt;&lt;/STRONG&gt;$(“#list1-id :selected”).remove().appendTo(“#list2-id”);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ajax:&lt;/STRONG&gt;&lt;BR&gt;Passing parameters to asp.net web services &lt;BR&gt;var prm1=”value”;&lt;BR&gt;var prm2=2;&lt;BR&gt;$.ajax({&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type: "POST",&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url: "/AjaxWebMethods.aspx/WebMethod ",&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;U&gt;&amp;nbsp;&amp;nbsp; data: '{"parameter1":"' + prm1+ '”,"parameter1":"' + prm2+ '"}',&lt;BR&gt;&lt;/U&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; contentType: "application/json; charset=utf-8",&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataType: "json",&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; success: function(msg) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*your code*/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error: function(err) { /*your code*/}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR&gt;Look for data line&lt;BR&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7108063" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/CSS/default.aspx">CSS</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>An entry to JQuery</title><link>http://weblogs.asp.net/hishamelbreky/archive/2009/06/04/an-entry-to-jquery.aspx</link><pubDate>Thu, 04 Jun 2009 13:26:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7108038</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2009/06/04/an-entry-to-jquery.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;JQuery is &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;a JavaScript library simplify using JavaScript in client side, with JQuery you can handle document objects where you can select and change style or behavior in easy way, I think JQuery as a successful JavaScript Library will play a big role in the next days of web development and that is makes Microsoft embedding JQuery in ASP.NET AJAX.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;JQuery &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Site :&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/Main_Page"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/Main_Page&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/How_jQuery_Works"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/How_jQuery_Works&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://docs.jquery.com/Core"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/Core&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/Selectors"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/Selectors&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/Events"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/Events&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/Effects"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/Effects&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/Ajax"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/Ajax&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://docs.jquery.com/UI"&gt;&lt;FONT size=3 face=Calibri&gt;http://docs.jquery.com/UI&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Blogs :&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://encosia.com/category/jquery/"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;http://encosia.com/category/jquery/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;-&lt;B&gt;Dave Ward&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Article:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://www.west-wind.com/presentations/jQuery/default.aspx"&gt;&lt;FONT color=#800080 size=3 face=Calibri&gt;http://www.west-wind.com/presentations/jQuery/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt; - An introduction to jQuery By &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Rick Strahl&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Books:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Manning.jQuery.in.Action – By John Resig&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7108038" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/CSS/default.aspx">CSS</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>Eye On .NET (2)</title><link>http://weblogs.asp.net/hishamelbreky/archive/2008/05/27/eye-on-net-2.aspx</link><pubDate>Tue, 27 May 2008 19:27:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6225179</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>1</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2008/05/27/eye-on-net-2.aspx#comments</comments><description>&lt;h1&gt;Blogs&lt;/h1&gt;  &lt;p&gt;&lt;strong&gt;Scott Hanselman&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Weekly Source Code : &lt;a href="http://feeds.feedburner.com/~r/ScottHanselman/~3/280609393/TheWeeklySourceCode25OpenIDEdition.aspx" target="_blank"&gt;OpenID Edition&lt;/a&gt;, &lt;a href="http://feeds.feedburner.com/~r/ScottHanselman/~3/287363665/TheWeeklySourceCode26LINQToRegularExpressionsAndProcessingInJavascript.aspx" target="_blank"&gt;LINQ to Regular Expressions and Processing in Javascript&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://feeds.feedburner.com/~r/ScottHanselman/~3/287295531/TypeConvertersTheresNotEnoughTypeDescripterGetConverterInTheWorld.aspx" target="_blank"&gt;TypeConverters: There's not enough TypeDescripter.GetConverter in the world&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://feeds.feedburner.com/~r/ScottHanselman/~3/292114739/11TopTipsForASuccessfulTechnicalPresentation.aspx"&gt;11 Top Tips for a Successful Technical Presentation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Joshua Flanagan&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://flimflan.com/blog/ReadableRegularExpressions.aspx"&gt;Readable Regular Expressions&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Joe Sagner&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://joeon.net/post/Tutorials-at---Defaultdotaspxcom.aspx"&gt;Tutorials at - Defaultdotaspx.com&lt;/a&gt;&amp;#160; - Mustafa Basgun&lt;/p&gt;  &lt;p&gt;&lt;a href="http://joeon.net/post/Intellisense-for-jQuery.aspx"&gt;Intellisense for jQuery&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;strong&gt;Charlie Calvert&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/charlie/archive/2008/05/25/where-are-the-visual-studio-2008-keybinding-posters.aspx" target="_blank"&gt;Where are the Visual Studio 2008 Keybinding Posters?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ADO.NET Team Blog&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2008/05/14/what-s-new-in-the-sp1-beta-for-linq-to-sql.aspx"&gt;What's New in the SP1 Beta for LINQ to SQL?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2008/05/06/recent-ado-net-entity-framework-provider-news-demos-and-downloads.aspx" target="_blank"&gt;Recent ADO.NET Entity Framework provider news - Demos and downloads&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Articles&lt;/h1&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/iisbook/c06_the_difference_between_get_and_post.mspx?mfr=true" target="_blank"&gt;The Difference between GET and POST&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.developer.com/net/csharp/article.php/3743731" target="_blank"&gt;Writing to the Event Log&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.singingeels.com/Articles/Entity_Framework_and_Lazy_Loading.aspx" target="_blank"&gt;Entity Framework and Lazy Loading&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=129&amp;amp;AspxAutoDetectCookieSupport=1" target="_blank"&gt;Save and Retrieve Images from the Database using ASP.NET 2.0 and ASP.NET 3.5&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.kanebarton.com/Samples/FileService/" target="_blank"&gt;Building a File Service&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;SQL Server Indexes : &lt;strong&gt;&lt;a title="http://www.sqlteam.com/article/sql-server-indexes-the-basics" href="http://www.sqlteam.com/article/sql-server-indexes-the-basics"&gt;http://www.sqlteam.com/article/sql-server-indexes-the-basics&lt;/a&gt;, &lt;a title="http://www.odetocode.com/Articles/70.aspx" href="http://www.odetocode.com/Articles/70.aspx"&gt;http://www.odetocode.com/Articles/70.aspx&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Client Application Services : &lt;a href="http://aspalliance.com/1595_Client_Application_Services__Part_1.all" target="_blank"&gt;Part 1&lt;/a&gt;, &lt;a href="http://aspalliance.com/1596_Client_Application_Services__Part_2.all" target="_blank"&gt;Paert 2&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeproject.com/KB/ajax/ajaxproxy.aspx"&gt;Fast, Scalable, Streaming AJAX Proxy - continuously deliver data from across domains&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gridviewguy.com/ArticleDetails.aspx?articleID=389"&gt;Designing Application Using Test Driven Development&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.15seconds.com/issue/020417.htm"&gt;HTTP Handlers and HTTP Modules in ASP.NET&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://aspalliance.com/1637_Managing_Configuration_Data_Programmatically_in_ASPNET_20.all"&gt;Managing Configuration Data Programmatically in ASP.NET 2.0&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Announcement&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx"&gt;Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://joeon.net/post/NET-35-Enhancements-Training-Kit.aspx"&gt;.NET 3.5 Enhancements Training Kit&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://joeon.net/post/Announcing-Visual-Studio-extensions-for-SharePoint-ndash3b-Developer-User-Guide.aspx"&gt;Visual Studio extensions for SharePoint&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2008/05/06/recent-ado-net-entity-framework-provider-news-demos-and-downloads.aspx"&gt;Recent ADO.NET Entity Framework provider news Demos and downloads&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6225179" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Eye On .NET</title><link>http://weblogs.asp.net/hishamelbreky/archive/2008/05/03/eye-on-net.aspx</link><pubDate>Sat, 03 May 2008 09:15:22 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6152882</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>1</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2008/05/03/eye-on-net.aspx#comments</comments><description>&lt;p&gt;Eye On .NET is periodical listing series for .NET(Blogs, Articles, Media, Events and Announcing) I hope that my simple view to .NET development be helpfully at least reflect the best.&lt;/p&gt;  &lt;p&gt;And this is my first List that will be focus on Blogs Community&amp;#160; :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#808000"&gt;Scott Guthrie&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;links: &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/04/28/april-28th-links-asp-net-asp-net-ajax-asp-net-mvc-silverlight.aspx" target="_blank"&gt;April 28th&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/04/11/april-11th-links-asp-net-asp-net-ajax-asp-net-mvc-visual-studio-silverlight.aspx" target="_blank"&gt;April 11th&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;ASP.NET MVC: &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" target="_blank"&gt;(Part 0): What is it?&lt;/a&gt; , &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" target="_blank"&gt;(Part 1): Building an MVC Application&lt;/a&gt; , &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx" target="_blank"&gt;(Part 2): URL Routing&lt;/a&gt; , &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/12/06/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views.aspx"&gt;(Part 3): Passing ViewData from Controllers to Views&lt;/a&gt; , &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx" target="_blank"&gt;(Part 4): Handling Form Edit and Post Scenarios&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/04/27/slides-from-my-asp-net-connections-orlando-talks.aspx" target="_blank"&gt;Slides from my ASP.NET Connections Orlando Talks&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx" target="_blank"&gt;ASP.NET 3.5 Extensions CTP Preview Released&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/pages/ASP.NET-2.0-Tips_2C00_-Tricks_2C00_-Recipes-and-Gotchas.aspx" target="_blank"&gt;ASP.NET 2.0 Tips, Tricks, Recipes and Gotchasa&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#808040"&gt;Charlie Calvert&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Community Convergence: &lt;a href="http://blogs.msdn.com/charlie/archive/2008/04/23/community-convergence-xliii.aspx" target="_blank"&gt;XLIII&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/charlie/archive/2008/03/30/community-convergence-xlii.aspx" target="_blank"&gt;XLII&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/charlie/archive/2008/03/11/community-convergence-xli.aspx" target="_blank"&gt;XLI&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/charlie/archive/2008/03/05/future-focus-ii-call-hierarchy.aspx" target="_blank"&gt;Future Focus II: Call Hierarchy&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-linq-providers.aspx" target="_blank"&gt;Link to Everything: A List of LINQ Providers&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/charlie/archive/2008/01/31/expression-tree-basics.aspx" target="_blank"&gt;Expression Tree Basics&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#808040"&gt;Scott Hanselman&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.hanselman.com/blog/GreatestHits.aspx" target="_blank"&gt;Scott Hanselman's Greatest Hits&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.hanselman.com/blog/TheWeeklySourceCode25OpenIDEdition.aspx" target="_blank"&gt;The Weekly Source Code 25 - OpenID Edition&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#808040"&gt;Dave Ward&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://encosia.com/2008/04/23/why-you-should-not-place-your-whole-site-in-an-updatepanel/" target="_blank"&gt;Why you should not place your whole site in an UpdatePanel&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/" target="_blank"&gt;Why do ASP.NET AJAX page methods have to be static?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/" target="_blank"&gt;Using jQuery to Consume ASP.NET JSON Web Services&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://encosia.com/2008/02/05/boost-aspnet-performance-with-deferred-content-loading/" target="_blank"&gt;Boost ASP.NET performance with deferred content loading&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://encosia.com/2008/01/09/4-aspnet-ajax-javascript-ui-functions-you-should-learn/" target="_blank"&gt;4 ASP.NET AJAX JavaScript UI methods you should learn&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#808040"&gt;Joe Stagner&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://joeon.net/post/Microsoft-patterns-amp3b-practices-Web-Client-Software-Factory-20.aspx"&gt;Microsoft patterns &amp;amp; practices Web Client Software Factory 2.0&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://joeon.net/post/ASPConnections-Orlando---Dynamic-Data-amp3b-Listview-Talks.aspx"&gt;ASPConnections Orlando - Dynamic Data &amp;amp; Listview Talks&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#808040"&gt;&lt;strong&gt;Rob Conery&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.wekeroad.com/mvc-storefront/" target="_blank"&gt;MVC Storefront&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.wekeroad.com/tags/subsonic/" target="_blank"&gt;Subsonic&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#808040"&gt;Robert Shelton&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://rshelton.com/archive/2008/05/01/free-download-workflow-approval-starter-kit-for-windows-workflow-foundation.aspx" target="_blank"&gt;Free Download: Approval Workflow Starter Kit, for Windows Workflow Foundation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://rshelton.com/archive/2008/04/29/video-learn-about-microsofts-new-mesh-technology.aspx" target="_blank"&gt;Video: See Microsoft's new Live Mesh Technology&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://rshelton.com/archive/2008/04/29/how-to-video-sharepoint-and-silverlight-2.aspx" target="_blank"&gt;How to video: SharePoint and Silverlight 2&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6152882" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/CSS/default.aspx">CSS</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/Agile/default.aspx">Agile</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/WWF/default.aspx">WWF</category></item><item><title>ASP.NET AJAX Overview And Technical Tips</title><link>http://weblogs.asp.net/hishamelbreky/archive/2008/04/19/asp-net-ajax-overview-and-technical-tips.aspx</link><pubDate>Sat, 19 Apr 2008 18:48:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6113189</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>2</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2008/04/19/asp-net-ajax-overview-and-technical-tips.aspx#comments</comments><description>&lt;P&gt;Latest days I was interested with the best use for ASP.NET Ajax also covering its helpfully features, after many reads for books and websites (blogs, articles) hope to introduce something that help developers.(&lt;A href="http://weblogs.asp.net/blogs/hishamelbreky/Documents/ASP.NET%20AJAX%20Overview%20And%20Technical%20Tips%20.zip" target=_blank mce_href="http://weblogs.asp.net/blogs/hishamelbreky/Documents/ASP.NET%20AJAX%20Overview%20And%20Technical%20Tips%20.zip"&gt;download PDF document version&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080&gt;&lt;STRONG&gt;Contents&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;About AJAX&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;History of the XMLHttpRequest Object&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;How &lt;I&gt;XMLHttpRequest object works?&lt;/I&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;About JSON&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Installing ASP.NET AJAX in VS 2005&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Dealing with ASP.NET AJAX Main Items&lt;/FONT&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;ScriptManager&lt;/FONT&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;the brains of an Ajax page&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Understanding the ScriptManager&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Dynamically Assigning ASP.NET AJAX Script References&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;ASP.Net AJAX Toolkit&lt;/FONT&gt;&lt;/LI&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Installing the Control Toolkit for VS 2005&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;AJAX with UpdatePanels And Web Services&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Invoking web service methods from JavaScript&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Invoke ASPX Page Methods&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;Working with the DOM Using AJAX Client library&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI&gt;&lt;FONT color=#004080&gt;References and Links&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;H2&gt;About AJAX&lt;/H2&gt;
&lt;P&gt;The main concept behind Ajax is to enable web pages to make HTTP requests in the background, or &lt;I&gt;asynchronously&lt;/I&gt;, without reloading an entire page (or, in ASP.NET terms, without a round trip, or a postback). Ajax also allows more responsive UIs to be constructed by drawing on the power of commonly supported browser functions such as, JavaScript, Document Object Model (DOM), and Cascading Style Sheets (CSS).&lt;/P&gt;
&lt;P&gt;Creating Ajax-enabled web pages by programming the browser requires knowledge of JavaScript, DOM, and the XMLHttpRequest object, which handles the requests from the client to the server.&lt;/P&gt;
&lt;P&gt;The name of the &lt;B&gt;XMLH&lt;/B&gt;&lt;B&gt;ttpRequest&lt;/B&gt; object is somewhat misleading because data can be transferred in the form of XML or other text-based formats. The ASP.NET AJAX framework relies heavily on a format called JavaScript Object Notation (&lt;B&gt;JSON&lt;/B&gt;) to deliver data to and from the server.&lt;/P&gt;
&lt;H2&gt;History of the XMLHttpRequest Object&lt;/H2&gt;
&lt;P&gt;The first implementation of XMLHttpRequest can be found in the 1999 release of Internet Explorer 5. That release included an ActiveX object called XMLHttpRequest that did just what the name suggests; make an HTTP request and get a message back. (The format of the returned message could be an XML message, but that was not a requirement.) &lt;BR&gt;Originally, Internet Explorer engineers needed this functionality for the web frontend to Outlook (Outlook Web Access [OWA]), so they could makeOWAbehave more like a desktop application. As useful as it was, for some time the addition of the XMLHttpRequest object to Internet Explorer went unnoticed by web programmers. However, competing browser developers later incorporated a compatible version in their own applications. Because only Internet Explorer supports ActiveX controls,other browsers implemented the XMLHttpRequest object natively in their browser.&lt;/P&gt;
&lt;P&gt;After Internet Explorer, the first browser to support XMLHttpRequest was the Mozilla 1.0 browser (not to be confused with the code name for early Netscape browsers). Subsequent versions of Mozilla as well as derivatives, such as the Camino browser for Mac OS X and Firefox, implement XMLHttpRequest. Apple then added appropriate support &lt;BR&gt;in the 1.2 version of their Safari browser. Safari is based on the KHTML renderer that is part of Konqueror, the web browser of the KDE desktop environment for Linux. Apple engineers later back-ported support for the XMLHttpRequest object to Konqueroras as well. &lt;BR&gt;Opera 8.0 and later also included XMLHttpRequest support in their browser, as did the rather exotic system, Open Laszlo, from IBM.&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;How&lt;/STRONG&gt;&amp;nbsp;&lt;B&gt;&lt;I&gt; XMLHttpRequest object works?&lt;/I&gt;&lt;/B&gt;&lt;/H2&gt;
&lt;P&gt;look for the following simple example:&lt;/P&gt;
&lt;P&gt;The fact that there are different implementations of the object based on browsers and their versions requires you to write browser-sensitive code when instantiating it from script. Listing 1.1 uses a technique called &lt;I&gt;object detection &lt;/I&gt;to determine which XMLHttpRequest object is available.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;var xmlHttp = null;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;if (window.XMLHttpRequest) { // IE7, Mozilla, Safari, Opera, etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;xmlHttp = new XMLHttpRequest();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;} else if (window.ActiveXObject) {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;try{&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE 5.x, 6&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;catch(e) {}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Now that the object has been instantiated, you can use it to make an asynchronous request to a server resource. To keeps things simple, you can make a request to another page called Welcome.htm (listing 1.2).&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" &amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;head&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;title&amp;gt;Welcome&amp;lt;/title&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/head&amp;gt;ting 1.2 Welcome.htm&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;body&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;div&amp;gt;Welcome to ASP.NET AJAX!&amp;lt;/div&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/body&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/html&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Welcome.htm is pretty minimal and contains some static text welcoming you to the book. You make the asynchronous request with a few more lines of code that you wrap in a function called sendRequest ( listing 1.3).&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;function sendRequest(url) {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;if (xmlHttp) {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;xmlHttp.open("GET", url, true); // true = async&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;xmlHttp.onreadystatechange = onCallback;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;xmlHttp.setRequestHeader('Content-type',&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;'application/x-www-form-urlencoded');&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;xmlHttp.send(null);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The sendRequest method takes as a parameter the URL to which you’ll be making an HTTP request. Next, it opens a connection with the asynchronous flag set to true. After the connection is initialized, it assigns the onreadystatechange property of the XMLHttpRequest object to a local function called onCallback. Remember, this will be an asynchronous call, which means you don’t know when it will return. A callback function is given so you can be notified when the request is complete or its status has been updated. After specifying the content type in the request header, you call the send method to transmit the HTTP request to the server.&lt;/P&gt;
&lt;P&gt;When the status of the request changes and the callback function is invoked, the final step is to check the status and update the user interface with the contentsreturned from Welcome.htm ( listing 1.4).&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;function onCallback() {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;if (xmlHttp.readyState == 4) {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;if (xmlHttp.status == 200){&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;var r = document.getElementById('results');&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;r.innerHTML = xmlHttp.responseText;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;else {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;alert('Error: ' + xmlHttp.status);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The status of the request is returned in the readyState property of the XMLHttpRequest object. The value 4 indicates that the request has completed. Next, the response from the server must be checked to confirm that everything was successful. Status code 200 is designated in the HTTP protocol to indicate that a request has succeeded. Finally, the innerHTML of a span element is updated to reflect the contents in the response&lt;/P&gt;
&lt;H2&gt;About JSON&lt;/H2&gt;
&lt;P&gt;In addition to the XMLHttpRequest object and XML, a third major technology often used for Ajax applications is JavaScript Object Notation (JSON, &lt;I&gt;&lt;A href="http://www.json.org/" mce_href="http://www.json.org/"&gt;http://www.json.org/&lt;/A&gt;&lt;/I&gt;). With JSON, JavaScript objects or data can be persisted (serialized) in a short and easily understandable way, without requiring a lot of JavaScript code to either write or read the data (also true for XML). JSON makes use of a previously oftenoverlooked feature of JavaScript, or more accurately, of the ECMAScript language&lt;/P&gt;
&lt;P&gt;specification, also known as ECMA-262. JSON is used internally by current versions of ASP.NET AJAX and generally can be used to exchange complex data with a server. This allows JavaScript to understand&lt;/P&gt;
&lt;P&gt;it, and it helps avoid the sometimes cumbersome parsing process of XML. The following code uses JSON to define a book object:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;{"book": {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"title": "Programming ASP.NET AJAX",&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"author": "Christian Wenz",&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"chapters": {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"chapter": [&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;{"number": "1", "title": "Introduction"},&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;{"number": "2", "title": "JavaScript"},&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;{"number": "3", "title": "Ajax"}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;]&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The object with the book property contains title, author, and chapters properties.&lt;/P&gt;
&lt;P&gt;The chapters property contains several chapter subelements, each with a number and&lt;/P&gt;
&lt;P&gt;a title property. This can be best visualized when looking at it as XML data.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;book title="Programming ASP.NET AJAX" author="Christian Wenz"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;chapters&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;chapter number="1" title="Introduction" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;chapter number="2" title="JavaScript" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;chapter number="3" title="Ajax" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/chapters&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/book&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Simple example for Using JSON&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;head&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;title&amp;gt;JSON&amp;lt;/title&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/head&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;body&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;script language="JavaScript" type="text/javascript"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;var json = '{"book": { "title": "Programming ASP.NET AJAX", "author": "Christian&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;Wenz","chapters": {"chapter": [ {"number": "1", "title": "Introduction"}, {"number": "2",&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"title": "JavaScript"}, {"number": "3", "title": "Ajax"} ]} }}';&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT color=#800000&gt;var obj = eval("(" + json + ")");&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;for (var i=0; i &amp;lt; obj.book.chapters.chapter.length; i++) {&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;document.write(&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"&amp;lt;p&amp;gt;" +&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;obj.book.chapters.chapter[i].number +&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;": " +&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;obj.book.chapters.chapter[i].title +&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"&amp;lt;/p&amp;gt;"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/body&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/html&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H2&gt;Installing ASP.NET AJAX in VS 2005&lt;/H2&gt;
&lt;P&gt;AJAX enabled web application is a new feature added with visual studio 2008 but with VS 2005 you will need to setup ASP.NET AJAX that is integrated directly into the IDE. On the ASP.NET AJAX home page (&lt;A href="http://ajax.asp.net)/" mce_href="http://ajax.asp.net)"&gt;http://ajax.asp.net)&lt;/A&gt;, you can finda link to ASP.NET AJAX itself in the form of an MSI installer package named ASPAJAXExtSetup.msi. Look for the Microsoft ASP.NET 2.0 AJAX Extensions 1.0.&lt;/P&gt;
&lt;H1&gt;Dealing with ASP.NET AJAX Main Items&lt;/H1&gt;
&lt;H2&gt;ScriptManager&lt;/H2&gt;
&lt;H3&gt;the brains of an Ajax page&lt;/H3&gt;
&lt;P&gt;The ScriptManager control is considered the brains of an Ajax-enabled page and is by far the most important control in the framework. As we move along in this chapter and throughout the book, we’ll demonstrate how to leverage the ScriptManager and reveal its intricacies. The important thing to understand at thispoint is that, as the name suggests, this control is responsible for many of the operations that take place during an Ajax application.&lt;/P&gt;
&lt;P&gt;Because you want this control to be present on all the pages of the site, you place it in the master page of the web application rather than in the home page (or content page):&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;asp:ScriptManager ID="ScriptManager1" runat="server" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;You place it in the master page so that any content pages that inherit from it receive the same functionality. This is generally a good practice for similar controls that are used across multiple content pages. Furthermore, this invisible control must be declared &lt;I&gt;before &lt;/I&gt;all other Ajax-enabled server controls in the page hierarchy to&lt;/P&gt;
&lt;P&gt;ensure that they’re loaded and initialized accordingly.&lt;/P&gt;
&lt;P&gt;Even though the ScriptManager control isn’t declared in the content page, you can easily retrieve an instance of it by calling its static method GetCurrentand passing in the current Page instance:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;With this instance, you can manage and configure the way the errors, scripts, and other settings on the page behave. We’ll explore some of this in a moment; first, let’s see what adding the ScriptManager to the page does to the application.&lt;/P&gt;
&lt;H3&gt;Understanding the ScriptManager&lt;/H3&gt;
&lt;P&gt;The primary responsibility of the ScriptManager is to deliver scripts to the browser. The scripts it deploys can originate from the ASP.NET AJAX library—embedded resources in the System.Web.Extensions.dll, local files on the server, or embedded resources in other assemblies. By default, adding the control to the page, declaratively or programmatically, delivers the required scripts you need for Ajax functionality on the page. To see the evidence, right-click the home page from the browser, and select the View Source option (or select View &amp;gt; Source in IE, or View &amp;gt; Page-Source in Firefox). In the viewed source window, search for an occurrence of ScriptResource.axd&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;script src="http://weblogs.asp.net/04/ScriptResource.axd?d=zQoixCVkx8JK9a1Az_4OOriP7&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;iw9S-TvBA24ugyHeZ8NSIfT6_bRe7yPttgsOhCr1ud1jBUWNQa9KSAugqepLY7DN4cuXzH5ybztCger&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;rk1&amp;amp;amp;t=633141075498906250"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;type="text/javascript"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Let’s decode what this tag means; this is at the core of how scripts are delivered to&lt;/P&gt;
&lt;P&gt;the client.&lt;/P&gt;
&lt;P&gt;In ASP.NET 2.0, resources embedded in an assembly are accessed through the WebResource.axd HTTP handler. In the ASP.NET AJAX framework, a new HTTP handler called ScriptResource.axd replaces it with some additional functionality for localization and browser compression. Previous script shows a reference to a script assigned by the ScriptManager that is eventually downloaded by the new handler.&lt;/P&gt;
&lt;P&gt;What about the cryptic text? How does the browser decipher it, and what does it mean? A closer look exposes two parameters: d and t. They assist the browser in identifying and caching the resource. The first is the encoded resource key, assigned to the d parameter. The second is the timestamp, t, that signifies the last&lt;/P&gt;
&lt;P&gt;modification made to the assembly (for example, t=632962425253593750). When the page is loaded a second time, the browser recognizes the parameters and spares the user the download by using what’s in its cache to retrieve the resources.&lt;/P&gt;
&lt;P&gt;NOTE Embedding resources in an assembly is a common technique for controls&lt;/P&gt;
&lt;P&gt;and libraries that require resources like images and scripts. This&lt;/P&gt;
&lt;P&gt;approach simplifies how controls are packaged and deployed.&lt;/P&gt;
&lt;H3&gt;Dynamically Assigning ASP.NET AJAX Script References&lt;/H3&gt;
&lt;P&gt;In most scenarios, the easiest way to add a script file to an ASP.NET page is in markup, as in the following example:&lt;/P&gt;&lt;PRE&gt;&lt;FONT color=#800000&gt;&amp;lt;asp:ScriptManager ID="SMgr" runat="server"&amp;gt;
  &amp;lt;Scripts&amp;gt;
    &amp;lt;asp:ScriptReference Path="./Script.js" /&amp;gt;
  &amp;lt;/Scripts&amp;gt;
&amp;lt;/asp:ScriptManager&amp;gt;&lt;/FONT&gt; &lt;/PRE&gt;
&lt;P&gt;However, it is also possible to add script references dynamically.&lt;/P&gt;
&lt;P&gt;1 - &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;ScriptManager Smgr = ScriptManager.GetCurrent(Page);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;if (Smgr == null) throw new Exception("ScriptManager not found.");&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;ScriptReference SRef = new ScriptReference();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;2 -&lt;/P&gt;
&lt;P&gt;// If you know that Smgr.ScriptPath is correct... &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;SRef.Name = "Script.js";&lt;/FONT&gt; &lt;/P&gt;
&lt;P&gt;// Or, to specify an app-relative path... &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;SRef.Path = "~/Scripts/Script.js";&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;3 - &lt;/P&gt;
&lt;P&gt;If the script is part of an assembly, set the &lt;A href="http://www.asp.net/mref/P_System_Web_UI_ScriptReference_Name.aspx" mce_href="http://www.asp.net/mref/P_System_Web_UI_ScriptReference_Name.aspx"&gt;Name&lt;/A&gt; and &lt;A href="http://www.asp.net/mref/P_System_Web_UI_ScriptReference_Assembly.aspx" mce_href="http://www.asp.net/mref/P_System_Web_UI_ScriptReference_Assembly.aspx"&gt;Assembly&lt;/A&gt; properties of the &lt;A href="http://www.asp.net/mref/T_System_Web_UI_ScriptReference.aspx" mce_href="http://www.asp.net/mref/T_System_Web_UI_ScriptReference.aspx"&gt;ScriptReference&lt;/A&gt; instance.&lt;/P&gt;&lt;PRE&gt;&lt;FONT color=#800000&gt;SRef.Name = "Script.js";
SRef.Assembly = "ScriptAssembly";&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;4 - &lt;/PRE&gt;
&lt;P&gt;Specify whether to run debug or release versions of the script. To set this mode for all scripts on the page, set the &lt;A href="http://www.asp.net/mref/P_System_Web_UI_ScriptManager_ScriptMode.aspx" mce_href="http://www.asp.net/mref/P_System_Web_UI_ScriptManager_ScriptMode.aspx"&gt;ScriptMode&lt;/A&gt; property of the &lt;A href="http://www.asp.net/mref/T_System_Web_UI_ScriptManager.aspx" mce_href="http://www.asp.net/mref/T_System_Web_UI_ScriptManager.aspx"&gt;ScriptManager&lt;/A&gt; control. To set debug mode for an individual script, set the &lt;A href="http://www.asp.net/mref/P_System_Web_UI_ScriptReference_ScriptMode.aspx" mce_href="http://www.asp.net/mref/P_System_Web_UI_ScriptReference_ScriptMode.aspx"&gt;ScriptMode&lt;/A&gt; property of the &lt;A href="http://www.asp.net/mref/T_System_Web_UI_ScriptReference.aspx" mce_href="http://www.asp.net/mref/T_System_Web_UI_ScriptReference.aspx"&gt;ScriptReference&lt;/A&gt; object.&lt;/P&gt;&lt;PRE&gt;// To set ScriptMode for all scripts on the page...
&lt;FONT color=#800000&gt;Smgr.ScriptMode = ScriptMode.Release;&lt;/FONT&gt;

//Or, to set the ScriptMode just for the one script...
&lt;FONT color=#800000&gt;SRef.ScriptMode = ScriptMode.Debug;&lt;/FONT&gt;

//If they conflict, the setting on the ScriptReference wins.&lt;/PRE&gt;&lt;PRE&gt;5 - &lt;/PRE&gt;&lt;PRE&gt;&lt;FONT color=#800000&gt;Smgr.Scripts.Add(SRef);&lt;/FONT&gt;&lt;/PRE&gt;
&lt;H2&gt;ASP.Net AJAX Toolkit&lt;/H2&gt;
&lt;P&gt;The Ajax Control Toolkit is an open source project that Microsoft started in the early days of ASP.NET AJAX. It’s a collection of extenders, script controls, and client components written with the Microsoft Ajax Library.&lt;/P&gt;
&lt;H3&gt;Installing the Control Toolkit for VS 2005&lt;/H3&gt;
&lt;P&gt;Before you can use ASP.NET AJAX controls, you need to add the Toolkit controls to your development environment. You can download it from the ASP.NET AJAX home page at &lt;A href="http://ajax.asp.net/toolkit/default.aspx?tabid=47" mce_href="http://ajax.asp.net/toolkit/default.aspx?tabid=47"&gt;http://ajax.asp.net/toolkit/default.aspx?tabid=47&lt;/A&gt;. Up-to-date documentation can be found at &lt;A href="http://ajax.asp.net/ajaxtoolkit" mce_href="http://ajax.asp.net/ajaxtoolkit"&gt;http://ajax.asp.net/ajaxtoolkit&lt;/A&gt;. The toolkit is hosted on CodePlex web site (&lt;A href="http://www.codeplex.com/AtlasControlToolkit/" mce_href="http://www.codeplex.com/AtlasControlToolkit/"&gt;http://www.codeplex.com/AtlasControlToolkit/)&lt;/A&gt; and is provided in the form of a ZIP archive. Actually, two archives: one contains the toolkit plus source code; the other, smaller archive, does not come with the sources.&lt;/P&gt;
&lt;H3&gt;AJAX with UpdatePanels And Web Services &lt;/H3&gt;
&lt;P&gt;The UpdatePanel is an Ajax-enabled server control that works closely with the ScriptManager to apply partial-page updates to a page. also it the most obviously control in toolkit and as I think that it most used one by developers, where UpdatePanle still consume server resources then we must use UpdatePanle carefully and in special cases like refreshing&amp;nbsp; GridView or other data controls, but if you plan to to get small data from server then calling web service by AJAX is better&lt;/P&gt;
&lt;H2&gt;Invoking web service methods from JavaScript&lt;/H2&gt;
&lt;P&gt;The first step in Ajax-enabling a page is to add the ScriptManager control. Remember, the ScriptManager is the brains of an Ajax page because its responsibilities primarily include managing and deploying scripts to the browser. In this case, you want to leverage the ScriptManager so the page can use the web service&lt;/P&gt;
&lt;P&gt;proxy you just generated.&lt;/P&gt;
&lt;P&gt;1-&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;asp:ScriptManager ID="ScriptManager1" runat="server"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;Services&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;asp:ServiceReference Path="~/StarbucksService.asmx"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;InlineScript="true" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/Services&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/asp:ScriptManager&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;2-&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;div&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;input id="Location" type="text" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;input id="GetNumLocations" type="button" value="Get Count"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;onclick="getLocations()" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;div id="NumLocations"&amp;gt;&amp;lt;/div&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;lt;/div&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;3-&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;function getLocations(){&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;var zip = $get("Location").value;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;AspNetAjaxInAction.StarbucksService.GetLocationCount(zip,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;onGetLocationSuccess,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;onGetLocationFailure,&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;"&amp;lt;%= DateTime.Now %&amp;gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;H2&gt;Invoke ASPX Page Methods&lt;/H2&gt;
&lt;P&gt;&lt;BR&gt;An interesting feature in ASP.NET AJAX is the ability to call, from JavaScript, methods that are declared in the ASP.NET page itself. Because these methods are declared on a page, not from a Web Service, they’re appropriately called page methods. To demonstrate how this works, let’s add a simple static method called HelloEmployee to the page. This method takes as a parameter an instance of the Employee class you created earlier. The method returns to the caller a formatted greeting: &lt;BR&gt;&lt;FONT color=#800000&gt;[WebMethod] &lt;BR&gt;public static string HelloEmployee(AspNetAjaxInAction.Employee emp) &lt;BR&gt;{ &lt;BR&gt;return string.Format("Hello {0} {1}.", emp.First, emp.Last); &lt;BR&gt;}&lt;/FONT&gt; &lt;BR&gt;Notice how the method is decorated with the WebMethod attribute (defined in the System.Web.Services namespace), similar to public methods in a Web Service. &lt;BR&gt;This required attribute must be adorned on any methods you want to expose as a page method. In the .aspx page, you enable support for these types of methods by setting the &lt;STRONG&gt;EnablePageMethods&lt;/STRONG&gt; property of the ScriptManager to True. By default, this setting isn’t enabled, and any static web methods on the page are omitted from the &lt;BR&gt;web service proxy: &lt;BR&gt;&lt;FONT color=#800000&gt;&amp;lt;asp:ScriptManager ID="ScriptManager1" runat="server" &lt;BR&gt;EnablePageMethods="True"&amp;gt; &lt;BR&gt;&amp;lt;Services&amp;gt; &lt;BR&gt;&amp;lt;asp:ServiceReference Path="StarbucksService.asmx" &lt;BR&gt;InlineScript="true" /&amp;gt; &lt;BR&gt;&amp;lt;/Services&amp;gt; &lt;BR&gt;&amp;lt;/asp:ScriptManager&amp;gt; &lt;BR&gt;&lt;/FONT&gt;To complete this example, you need to call the method from JavaScript and process &lt;BR&gt;the response&lt;/P&gt;
&lt;H2&gt;Working with the DOM Using AJAX Client library&lt;/H2&gt;
&lt;P&gt;The Microsoft Ajax Library lets you access the DOM in a manner independent from the browser that renders the page. The abstraction API consists of the methods exposed by two client classes: Sys.UI.DomElement and Sys.UI.DomEvent. The first one abstracts a DOM element, and the second represents the event data&lt;/P&gt;
&lt;P&gt;object that DOM event handlers receive as an argument.&lt;/P&gt;
&lt;P&gt;The following is Shortcut Methods used for accessing AJAX library&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;$get, Sys.UI.DomElement.getElementById Returns a reference to aDOM element&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;$addHandler, Sys.UI.DomElement.addHandler Adds an event handler toan event exposed by a DOM&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;element&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;$removeHandler, Sys.UI.DomElement.removeHandler Removes an event handler added with $addHandler&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;$addHandlers, Sys.UI.DomElement.addHandlers Adds multiple event handlers to events exposed byDOM elements and wraps the handlers with delegates&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;$removeHandlers, Sys.UI.DomElement.removeHandlers Removes all the handlers added with $addHandler&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#800000&gt;and $addHandlers&lt;/FONT&gt;&lt;/P&gt;
&lt;H2&gt;References and Links&lt;/H2&gt;
&lt;P&gt;Books: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;ASP.NET AJAX IN ACTION&lt;/P&gt;
&lt;P&gt;Programming.ASP.NET.AJAX (OReilly)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;URLs:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;A title=http://www.asp.net/AJAX/Documentation/Live/default.aspx href="http://www.asp.net/AJAX/Documentation/Live/default.aspx" mce_href="http://www.asp.net/AJAX/Documentation/Live/default.aspx"&gt;http://www.asp.net/AJAX/Documentation/Live/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title=http://encosia.com/ href="http://encosia.com/" mce_href="http://encosia.com/"&gt;http://encosia.com/&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6113189" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>Messaging Using Remoting Service (Samples)</title><link>http://weblogs.asp.net/hishamelbreky/archive/2008/03/21/messaging-using-remoting-service-samples.aspx</link><pubDate>Fri, 21 Mar 2008 22:22:16 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6007666</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2008/03/21/messaging-using-remoting-service-samples.aspx#comments</comments><description>&lt;p&gt;latest days I was interested with .net remoting service and events delegation between client and server sides, then I decided to write application that cover event delegation between clients and server and vis versa using .net remoting service, we can use this technique in chatting applications or any other business applications that depend on messaging between client and server.&lt;/p&gt;  &lt;p&gt;the first application is simple broadcasting message application, &lt;a href="http://weblogs.asp.net/blogs/hishamelbreky/Samples/Remoting/Remote%20Messaging%201.zip" target="_blank"&gt;Download Link&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;the second application is more complex where you can specify which client you need to send message to it, also all calls are performed concurrently. If connection to the specific client is slow (or is broken), sending to other clients will not be delayed until that specific client replies (or server recognizes clients unavailability via time-out), &lt;a href="http://weblogs.asp.net/blogs/hishamelbreky/Samples/Remoting/Remote%20Messaging%202.zip" target="_blank"&gt;Download Link&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;this tow applications written by me using Remoting Service technique.&lt;/p&gt;  &lt;p&gt;To understanding samples you must be aware about remoting service and event delegate &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;References And Links&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Books:&lt;/p&gt;  &lt;p&gt;MCAD/MCSD Self-Paced Training Kit: Developing XML Web Services and Server Components&lt;/p&gt;  &lt;p&gt;Advanced .NET Remoting, by Ingo Rammer&lt;/p&gt;  &lt;p&gt;Links:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/kwdt6w2k(vs.71).aspx" target="_blank"&gt;.NET Remoting Overview&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.c-sharpcorner.com/UploadFile/DBelikov/DotNETRemotingEvents11232005061414AM/DotNETRemotingEvents.aspx" target="_blank"&gt;.NET Remoting - Events&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6007666" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Powering ASP.Net By CSS</title><link>http://weblogs.asp.net/hishamelbreky/archive/2008/02/19/powering-asp-net-by-css.aspx</link><pubDate>Tue, 19 Feb 2008 06:42:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5818481</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>3</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2008/02/19/powering-asp-net-by-css.aspx#comments</comments><description>&lt;P&gt;When developing a web site one can choose between creating a &lt;STRONG&gt;CSS-based or TABLE-based web site&lt;/STRONG&gt;. Both types of layouts have advantages and disadvantages and perform quite differently.&lt;/P&gt;
&lt;P&gt;TABLE-based layouts web sites have the flowing facts:&lt;/P&gt;
&lt;P&gt;- They're easy to use and implement (compared to CSS-layouts). &lt;/P&gt;
&lt;P&gt;- WYSIWYG (What You See Is What You Get) editors like FrontPage and Dreamweaver make it very easy for developers to include them. &lt;/P&gt;
&lt;P&gt;- Tables "break" on various browsers (newer and older versions) thus producing layout dysfunctions. &lt;/P&gt;
&lt;P&gt;- Increase almost unnecessarily the HTML/text ratio. This means that other options could be used to create layouts that produce smaller page files by employing less HTML tags.&lt;/P&gt;
&lt;P&gt;And &lt;/P&gt;
&lt;P&gt;CSS-based layouts web sites have the flowing facts:&lt;/P&gt;
&lt;P&gt;- Widely supported by modern browsers but not by older browsers &lt;/P&gt;
&lt;P&gt;- Allows extreme flexibility in positioning &lt;/P&gt;
&lt;P&gt;- Increases usability by encouraging liquid design &lt;/P&gt;
&lt;P&gt;- Keeps the HTML/text ratio at a low level thus decreasing load time &lt;/P&gt;
&lt;P&gt;- Allows the display of main content first while the graphics load afterwards&lt;/P&gt;
&lt;P&gt;You can think now that CSS layout is more powerful than table based layout and &lt;STRONG&gt;Tables should only be used in extreme cases &lt;/STRONG&gt;where there is no other viable alternative.&lt;/P&gt;
&lt;P&gt;So if you need to improve your ASP.net Web Site performance and layout then you need to add CSS functionality to your site by using elements other than table if it possible like DIV, UI, LI … with CSS&lt;/P&gt;
&lt;P&gt;But what I can do with ASP.Net server controls? You can use &lt;A href="http://www.asp.net/CSSAdapters/Default.aspx" mce_href="http://www.asp.net/CSSAdapters/Default.aspx"&gt;ASP.NET CSS Friendly Control Adapters 1.0&lt;/A&gt; that provided more flexibility for customizing the rendered HTML. For example, the Menu control makes it simple to add a menu to a web site, but it would be better if it didn't create &amp;lt;table&amp;gt; tags and was easier to style using CSS. Happily, it's easy to customize and adapt the Menu control to generate better HTML. Indeed, you can modify any ASP.NET control so it produces exactly the HTML you want.&lt;/P&gt;
&lt;P&gt;For more details:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.asp.net/CSSAdapters/Default.aspx" mce_href="http://www.asp.net/CSSAdapters/Default.aspx"&gt;ASP.NET 2.0 CSS Friendly Control Adapters 1.0&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.mardiros.net/css-layout.html" mce_href="http://www.mardiros.net/css-layout.html"&gt;CSS Layouts Vs. Table Layouts - Alternate Browsers and Accessibility Issues&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5818481" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/CSS/default.aspx">CSS</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category></item><item><title>ASP.Net MVC</title><link>http://weblogs.asp.net/hishamelbreky/archive/2008/02/17/asp-net-mvc.aspx</link><pubDate>Sun, 17 Feb 2008 06:22:45 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:5805281</guid><dc:creator>Hisham El-bereky</dc:creator><slash:comments>0</slash:comments><comments>http://weblogs.asp.net/hishamelbreky/archive/2008/02/17/asp-net-mvc.aspx#comments</comments><description>&lt;p&gt;I like the New ASP.Net Model View controller (MVC) too much, it's a good pattern for developing ASP.Net Applications also it's easy in use more than &lt;a href="http://www.codeplex.com/websf"&gt;Web Client Software Factory&lt;/a&gt;, the first MVC preview was released December 2007 and the next release is announced by &lt;a href="http://weblogs.asp.net/scottgu/about.aspx"&gt;Scott Guthrie&lt;/a&gt; that it will be after few weeks, the best one that introduce ASP.Net MVC is Scott Guthrie, you can flow this link to cover Asp.net MVC ASP.NET &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/12/asp-net-mvc-framework-road-map-update.aspx"&gt;MVC Framework Road-Map Update&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5805281" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/hishamelbreky/archive/tags/ASP.Net/default.aspx">ASP.Net</category></item></channel></rss>