<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>AJAX</title>
        <link>http://geekswithblogs.net/kyle/category/3228.aspx</link>
        <description>AJAX</description>
        <language>en-US</language>
        <copyright>Kyle</copyright>
        <managingEditor>kyle.holder@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Is AJAX really worth it?</title>
            <link>http://geekswithblogs.net/kyle/archive/2007/03/01/107667.aspx</link>
            <description>&lt;P&gt;I was one of the ones who jumped on the AJAX bandwagon pretty quickly.&amp;nbsp; I've built several private apps using AJAX, and really like it.&amp;nbsp; I like the fact that the web becomes more "rich," and more closely resembles forms in functionality.&amp;nbsp; The gains are enormous.&lt;/P&gt;
&lt;P&gt;That having been said, I found myself asking the question:&amp;nbsp; Is it worth it?&amp;nbsp; I've found (so far) that doing things with AJAX takes at least three times longer, there's much more room for error, and cross-browser issues are brought to the forefront.&amp;nbsp; I have played around with the AJAX.NET framework a little, and have had mixed results.&amp;nbsp; What I got working was pretty cool, but do I really need rounded corners on divs?&amp;nbsp; It seems to me that a lot of their controls are gimmick-ey, and don't really have all that much to do with AJAX.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I think my biggest disappointment with the MS AJAX.NET framework is it's complete failure when adding the framework to an existing project.&amp;nbsp; I could not for the life of me get it to work.&amp;nbsp; I spent three days fiddling with it, and nothing seemed to want to work.&amp;nbsp; I really have little desire to re-write the projects that I do have for the benefit of AJAX.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;So, is it all worth it?&amp;nbsp; Are post-backs really that evil?&amp;nbsp; I'm starting to think "No."&amp;nbsp; AJAX is cool.&amp;nbsp; I probably won't use it if I'm in a hurry.&amp;nbsp; It has its place, but is it ready to take over the web?&amp;nbsp; Should it?&lt;/P&gt;
&lt;P&gt;Those are my questions...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=107667"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=107667" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/107667.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2007/03/01/107667.aspx</guid>
            <pubDate>Thu, 01 Mar 2007 14:22:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/107667.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2007/03/01/107667.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/107667.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/107667.aspx</trackback:ping>
        </item>
        <item>
            <title>Sweet AJAX Travel Site</title>
            <link>http://geekswithblogs.net/kyle/archive/2006/11/07/96362.aspx</link>
            <description>&lt;P&gt;Just ran across this travel site that I'd not heard of before.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.kayak.com"&gt;www.kayak.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It's got some sweet AJAX action going on.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96362"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=96362" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/96362.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2006/11/07/96362.aspx</guid>
            <pubDate>Tue, 07 Nov 2006 13:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/96362.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2006/11/07/96362.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/96362.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/96362.aspx</trackback:ping>
        </item>
        <item>
            <title>New to Ajax?  Read this...</title>
            <link>http://geekswithblogs.net/kyle/archive/2006/03/11/71975.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;&lt;P&gt;Recently, I've run across several posts over at the &lt;A title="" href="http://groups.google.com/group/ajaxpro" target=_blank name=""&gt;AJAX.NET Google Group&lt;/A&gt;&amp;nbsp;asking about how you can bind a DataGrid, or a Repeater using AJAX.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The answer is, you can't.&lt;/P&gt;&lt;P&gt;DataGrids and Repeaters are Server Side controls.&amp;nbsp; Their life begins and ends on the server, when the page is rendered to the client.&amp;nbsp; The client is rendered to HTML, and sent to the client.&amp;nbsp; That's it.&amp;nbsp; Finito.&amp;nbsp; The End.&amp;nbsp; That's all she wrote.&amp;nbsp; From there on out, it's all the client.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any AJAX transactions that take place must be rendered on the client using JavaScript.&amp;nbsp; It's that simple.&amp;nbsp; Server Controls are for the server.&amp;nbsp; Asynchronous &lt;STRONG&gt;JAVASCRIPT&lt;/STRONG&gt; and XML.&amp;nbsp; No mention of server controls in the name.&amp;nbsp; So, if you bring back a collection of Data from the server, you need to parse through that data with JavaScript, and create your HTML manually.&amp;nbsp; No way around it.&amp;nbsp; (Well, there is, but it can severely limit functionality).&lt;/P&gt;&lt;P&gt;The other issue is Page Context.&amp;nbsp; You don't get one when you're doing an AJAX call on the server.&amp;nbsp; It's an HTTP Request.&amp;nbsp; No page context.&amp;nbsp; With the &lt;A title="" href="http://weblogs.asp.net/mschwarz" target=_blank name=""&gt;AJAX.NET&lt;/A&gt; library, you get the session and cookies, etc, but the page doesn't exist.&amp;nbsp; No way around that.&amp;nbsp; Even if you could get the page context, it's only valid when the script is running on the server.&amp;nbsp; You can't re-bind data to an existing datagrid.&amp;nbsp; &lt;/P&gt;&lt;P&gt;So, Server Controls are for the Server.&amp;nbsp; Any work done with AJAX is Client Side.&amp;nbsp; &lt;/P&gt;&lt;!--WMP--&gt;&lt;/FONT&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;
&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=71975"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=71975" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/71975.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2006/03/11/71975.aspx</guid>
            <pubDate>Sat, 11 Mar 2006 07:25:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/71975.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2006/03/11/71975.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/71975.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/71975.aspx</trackback:ping>
        </item>
        <item>
            <title>Ajax.NET and DataBound Server Controls</title>
            <link>http://geekswithblogs.net/kyle/archive/2006/02/22/70349.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;Over on the &lt;A title="" href="http://groups.google.com/group/ajaxpro" target=_blank name=""&gt;AjaxPro 
Google Group&lt;/A&gt;, a user asked a question about databinding a repeater using 
Ajax.&amp;nbsp; The response has always been "A repeater (or any other server 
control) is rendered on the server, and then passed back to the client as 
HTML."&amp;nbsp; One of the purposes of Ajax is to reduce the amount of bytes being 
sent back and forth between server and client on non-initial load functions.&lt;/P&gt;
&lt;P&gt;In &lt;A title="" href="http://groups.google.com/group/ajaxpro/browse_thread/thread/f372525e4925c9cd/3e4a83454a13403a" target=_blank name=""&gt;this post&lt;/A&gt;, the usual answers were given.&amp;nbsp; Loop 
through the dataset with JavaScript, then display the results.&amp;nbsp; This makes 
sense to me.&lt;/P&gt;
&lt;P&gt;Then I got thinking.&amp;nbsp; For those who don't want the hassle of looping 
through datasets to build tables, but are more comfortable with server side 
databinding, there is a way...&lt;/P&gt;
&lt;P&gt;***SERVER SIDE***&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: black 1px solid; WIDTH: 434px; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; HEIGHT: 200px; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;&amp;lt;AjaxPro.AjaxMethod()&amp;gt;&amp;nbsp;_&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Public&amp;nbsp;Function&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;getDG()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;As&amp;nbsp;String&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;ds&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;As&amp;nbsp;New&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;DataSet&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #008000; FONT-FAMILY: Courier New"&gt;'Fill&amp;nbsp;the&amp;nbsp;DS&amp;nbsp;however&amp;nbsp;you&amp;nbsp;want...&lt;BR&gt;&amp;nbsp;&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;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Dim&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;DataGrid1&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;As&amp;nbsp;New&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;DataGrid&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataGrid1.DataSource&amp;nbsp;=&amp;nbsp;ds&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataGrid1.DataBind()&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Dim&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;SB&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;As&amp;nbsp;New&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;System.Text.StringBuilder&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Dim&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;SW&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;As&amp;nbsp;New&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;System.io.StringWriter(SB)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Dim&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;htmlTW&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;As&amp;nbsp;New&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;HtmlTextWriter(SW)&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataGrid1.RenderControl(htmlTW)&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Return&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;SB.ToString&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;End&amp;nbsp;Function&lt;BR&gt;&lt;/DIV&gt;
&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana color=black&gt;***CLIENT SIDE***&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: black 1px solid; WIDTH: 435px; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; HEIGHT: 200px; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;div&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;id&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="DataGrid1"&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/div&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;href&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="javascript:void(0);"&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;onclick&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="test();"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;Here&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/a&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;script&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;function&amp;nbsp;test()&amp;nbsp;&lt;BR&gt;&amp;nbsp;&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;&amp;nbsp;ServerSideRenderControl.WebForm1.getDG(getDGCallback);&lt;BR&gt;&amp;nbsp;&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;function&amp;nbsp;getDGCallback(res)&lt;BR&gt;&amp;nbsp;&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;&amp;nbsp;document.getElementById("DataGrid1").innerHTML&amp;nbsp;=&amp;nbsp;res.value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/script&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face=Verdana color=black&gt;This method (though large) allows you to 
databind a data-aware control on the server side, and then pass it out to the 
client through Ajax.&amp;nbsp; I haven't dealt with server-side templates (for 
repeaters)...&amp;nbsp; You're on your own for that.&amp;nbsp; 
Enjoy!&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;
&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70349"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70349" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/70349.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2006/02/22/70349.aspx</guid>
            <pubDate>Wed, 22 Feb 2006 14:28:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/70349.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2006/02/22/70349.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/70349.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/70349.aspx</trackback:ping>
        </item>
        <item>
            <title>First AJAX.Net Project Deployed</title>
            <link>http://geekswithblogs.net/kyle/archive/2005/12/10/62803.aspx</link>
            <description>&lt;P&gt;Well, I deployed my first AJAX.NET project today.&amp;nbsp; It's a private (local) project for a client.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I like the benefits of AJAX technology, but there are a few quirks that should be dealt with.&lt;/P&gt;&lt;P&gt;For instance, session time-outs.&amp;nbsp; If you use any kind of session based authentication system, a time-out may occur if the page is not refreshed within the session time-out limit.&amp;nbsp; Back-Button issues (as some have pointed out) are less of a big deal in this project.&lt;/P&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;
&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62803"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62803" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/62803.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2005/12/10/62803.aspx</guid>
            <pubDate>Sun, 11 Dec 2005 04:31:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/62803.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2005/12/10/62803.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/62803.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/62803.aspx</trackback:ping>
        </item>
        <item>
            <title>Ajax String Building - Which is better?</title>
            <link>http://geekswithblogs.net/kyle/archive/2005/12/09/62704.aspx</link>
            <description>&lt;P&gt;Which is better?&lt;/P&gt;
&lt;P&gt;This:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;&amp;lt;AjaxMethod()&amp;gt;&amp;nbsp;_&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Public&amp;nbsp;Function&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;GetString()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;as&amp;nbsp;String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;"The&amp;nbsp;String"&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;End&amp;nbsp;Function&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;Script&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;function&amp;nbsp;getTheStringCallback(res)&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.write("&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;table&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;tr&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;td&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;"&amp;nbsp;+&amp;nbsp;res.value&amp;nbsp;+&amp;nbsp;"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/td&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/tr&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/table&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/Script&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;Or This:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;&amp;lt;AjaxMethod()&amp;gt;&amp;nbsp;_&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Public&amp;nbsp;Function&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;GetString()&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;as&amp;nbsp;String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000; FONT-FAMILY: Courier New"&gt;"
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;The&amp;nbsp;String&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;"&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;End&amp;nbsp;Function&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&lt;BR&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;SCRIPT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;function&amp;nbsp;getTheStringCallback(res)&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.write(res.value);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/SCRIPT&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&lt;/SPAN&gt;&lt;BR&gt;When writing AJAX code, do you build the output JavaScript side, or Server Side?&amp;nbsp; I prefer Server Side.&amp;nbsp; (I'm more familiar with VB than JS).&amp;nbsp; Maybe I'm just lazy.&lt;/P&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62704"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62704" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/62704.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2005/12/09/62704.aspx</guid>
            <pubDate>Fri, 09 Dec 2005 20:09:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/62704.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2005/12/09/62704.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/62704.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/62704.aspx</trackback:ping>
        </item>
        <item>
            <title>AJAX.NET Pro and Date Types...</title>
            <link>http://geekswithblogs.net/kyle/archive/2005/11/28/61458.aspx</link>
            <description>This...&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;&amp;lt;AjaxPro.AjaxMethod()&amp;gt;&amp;nbsp;_&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Public&amp;nbsp;Function&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;GetTheDate(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;ByVal&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;TheDate&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;as&amp;nbsp;DateTime&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;as&amp;nbsp;String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;TheDate.ToShortDateString&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;End&amp;nbsp;Function&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;BR&gt;Does not work.&lt;P&gt;But, this...&lt;/P&gt;&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;&amp;lt;AjaxPro.AjaxMethod()&amp;gt;&amp;nbsp;_&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;Public&amp;nbsp;Function&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;GetTheDate(&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;ByVal&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;TheDate&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;as&amp;nbsp;String&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;as&amp;nbsp;String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;cDate&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;(TheDate).toShortDateString&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;End&amp;nbsp;Function&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;Does.&amp;nbsp; Apparently, any type conversions involving dates need to be done inside the function, rather than passed through the function.&lt;/P&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;
&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=61458"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=61458" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/61458.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2005/11/28/61458.aspx</guid>
            <pubDate>Mon, 28 Nov 2005 21:15:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/61458.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2005/11/28/61458.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/61458.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/61458.aspx</trackback:ping>
        </item>
        <item>
            <title>The Psychology of Ajax</title>
            <link>http://geekswithblogs.net/kyle/archive/2005/11/04/59114.aspx</link>
            <description>&lt;P&gt;&lt;STRONG&gt;The Psychology of AJAX&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;If you&amp;#8217;ve been poking around the &lt;A HREF=""&gt;.NET&lt;/A&gt; &lt;A href="http://weblogs.asp.net"&gt;blogs&lt;/A&gt; long enough, you&amp;#8217;ve seen the word AJAX, perhaps even visited &lt;A href="http://weblogs.asp.net/mschwarz"&gt;Michael Schwarz&amp;#8217;s&lt;/A&gt; website, maybe even downloaded his &lt;A href="http://www.schwarz-interactive.de/download/5.11.4.2.zip"&gt;AJAX.Net assembly&lt;/A&gt; and poked around in it. I know I have. I see the value in AJAX, and that&amp;#8217;s not what this post is about. &lt;/P&gt;
&lt;P&gt;I want to ask the audience some questions regarding the psychology of AJAX. &lt;/P&gt;
&lt;P&gt;The thing that got me interested in AJAX was a post about the way Sam Goody was incorporating it into their shopping cart system. (Sorry, I can&amp;#8217;t find the link now). Using AJAX, a user clicks an &amp;#8220;Add to cart&amp;#8221; link. Immediately after the click, the image is replaced with an &amp;#8220;Updating&amp;#8221; message, and after about &amp;#189; of a second, an &amp;#8220;In Cart&amp;#8221; image appears. &lt;/P&gt;
&lt;P&gt;As we all know, our computers (particularly our servers) are very fast. It probably doesn&amp;#8217;t take about .5 seconds to perform the appropriate action on the server. This &amp;#8220;wait&amp;#8221; period can be accomplished by putting a &lt;FONT face="Courier New" color=#0000ff&gt;system.threading.thread.currentthread.sleep(500)&lt;/FONT&gt; in the AJAX method on the server side, or of course by pausing the execution of the JavaScript. Personally, I prefer just having the server sleep for 500 milliseconds. &lt;/P&gt;
&lt;P&gt;So, this isn&amp;#8217;t an issue technically. My questions come from a User Experience angle. &lt;/P&gt;
&lt;P&gt;Question: We&amp;#8217;re all used to waiting for pages (even on a high speed connection). Does the fact that AJAX allows seemingly immediate results affect the user experience negatively? For example, Sam Goody could have done a round trip on their site, and the user would have expected to wait for it. So, when things happen immediately, are they inclined to think something might be wrong? Does the appearance of the server doing &amp;#8220;something&amp;#8221; (even though it&amp;#8217;s &amp;#8220;sleeping&amp;#8221;) enhance the user experience to the point where that &amp;#189; of a second is a significant gain? &lt;/P&gt;
&lt;P&gt;Any thoughts?&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59114"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59114" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kyle/aggbug/59114.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kyle Holder</dc:creator>
            <guid>http://geekswithblogs.net/kyle/archive/2005/11/04/59114.aspx</guid>
            <pubDate>Fri, 04 Nov 2005 13:49:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/kyle/comments/59114.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/kyle/archive/2005/11/04/59114.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/kyle/comments/commentRss/59114.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/kyle/services/trackbacks/59114.aspx</trackback:ping>
        </item>
    </channel>
</rss>