<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ajax And Asp.Net</title>
	<atom:link href="http://ajaxaspnet.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ajaxaspnet.wordpress.com</link>
	<description>Just another Ajax weblog</description>
	<lastBuildDate>Sat, 22 Nov 2008 06:13:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ajaxaspnet.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ajax And Asp.Net</title>
		<link>http://ajaxaspnet.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ajaxaspnet.wordpress.com/osd.xml" title="Ajax And Asp.Net" />
	<atom:link rel='hub' href='http://ajaxaspnet.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Ajax Like Image Handling</title>
		<link>http://ajaxaspnet.wordpress.com/2008/10/15/ajax-like-image/</link>
		<comments>http://ajaxaspnet.wordpress.com/2008/10/15/ajax-like-image/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 13:00:18 +0000</pubDate>
		<dc:creator>ashishsarda</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Image Handling]]></category>

		<guid isPermaLink="false">http://ajaxaspnet.wordpress.com/?p=19</guid>
		<description><![CDATA[This article deals with Ajax like image display using generic handlers. Here we will use .ashx file for the image display. Here we will use simple way to handle images and change images according to user input. This is not exact Ajax, but we can use query string to change the image. We are going [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajaxaspnet.wordpress.com&amp;blog=5169685&amp;post=19&amp;subd=ajaxaspnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">This article deals with Ajax like image display using generic handlers. Here we will use .ashx file for the image display.</p>
<p class="MsoNormal">Here we will use simple way to handle images and change images according to user input. This is not exact Ajax, but we can use query string to change the image.</p>
<p class="MsoNormal">We are going to use generic handlers or .ashx file to display image, and change the image simply changing the query string of the ashx file.</p>
<p class="MsoNormal"><span>            </span>This article will be a kick start for the creating web based photo album applications.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>  </span>We will use Html Image Tag as follows</p>
<p class="MsoNormal"><span>&lt;</span><span>img</span><span> <span>id</span><span>=&#8221;Image1&#8243;</span> <span>src</span><span>=&#8221;Image.ashx?id=1&#8243; </span><span>onmouseover</span><span>=&#8221;zoomImage(this.src)&#8221;</span> <span>height</span><span>=&#8221;210px&#8221;</span><span>                 </span><span>width</span><span>=&#8221;211px&#8221;</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal">In the source of image, instead of giving image URL we are giving, URL of ashx file.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Our HTML code for form tag is as follows</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>&lt;</span><span>form</span><span> <span>id</span><span>=&#8221;form1&#8243;</span> <span>runat</span><span>=&#8221;server&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>table</span> <span>border</span><span>=&#8221;1&#8243;&gt;</span></span></p>
<p class="MsoNormal"><span><span>            </span><span>&lt;</span><span>tr</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                    </span><span>&lt;</span><span>img</span> <span>id</span><span>=&#8221;Image1&#8243;</span> <span>src</span><span>=&#8221;Image.ashx?id=1&#8243;</span> <span>onmouseover</span><span>=&#8221;zoomImage(this.src)&#8221;</span> <span>height</span><span>=&#8221;210px&#8221;</span></span></p>
<p class="MsoNormal"><span><span>      </span><span>                  </span><span>width</span><span>=&#8221;211px&#8221;</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;/</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>            </span><span>&lt;/</span><span>tr</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>            </span><span>&lt;</span><span>tr</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                    </span><span>&lt;</span><span>table</span> <span>cellpadding</span><span>=&#8221;0&#8243;</span> <span>cellspacing</span><span>=&#8221;0&#8243;</span> <span>style</span><span>=&#8221;width: 211px; height: 23px&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>                        </span><span>&lt;</span><span>tr</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                   </span><span>         </span><span>&lt;</span><span>td</span> <span>onclick</span><span>=&#8221;changeImage(-1)&#8221;</span> <span>style</span><span>=&#8221;height: 19px&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>                                </span>&lt;&#8212;Prev<span>&lt;/</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                            </span><span>&lt;</span><span>td</span> <span>style</span><span>=&#8221;height: 19px&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>                                </span><span>&amp;nbsp;&amp;nbsp;&amp;nbsp;</span><span>&lt;/</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                            </span><span>&lt;</span><span>td</span> <span>onclick</span><span>=&#8221;changeImage(1)&#8221;</span> <span>style</span><span>=&#8221;height: 19px&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>                                </span>Next&#8212;&gt;<span>&lt;/</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                        </span><span>&lt;/</span><span>tr</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                    </span><span>&lt;/</span><span>table</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;/</span><span>td</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>            </span><span>&lt;/</span><span>tr</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;/</span><span>table</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>div</span> <span>id</span><span>=&#8217;imageShow&#8217;</span> <span>style</span><span>=&#8221;display: none; width: 391px; height: 270px; left: 314px;</span></span></p>
<p class="MsoNormal"><span><span>            </span>position: absolute; top: 16px;&#8221;&gt;</span></p>
<p class="MsoNormal"><span><span>            </span><span>&lt;</span><span>img</span> <span>id</span><span>=&#8217;ifimageShow&#8217;</span> <span>src</span><span>=&#8221;"</span> <span>style</span><span>=&#8221;width: 435px; height: 435px&#8221;</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;/</span><span>div</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>asp</span><span>:</span><span>HiddenField</span> <span>ID</span><span>=&#8221;hdnId&#8221;</span> <span>runat</span><span>=&#8221;server&#8221;</span> <span>Value</span><span>=&#8221;2&#8243;</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>    </span><span>&lt;/</span><span>form</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>In above HTML code , we have one div tag with id “imageShow”, on mouse over event of “Image1” we will display original full size image in this div tag.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Hidden field named “hdnId” is used to maintain the id in query string to ASHX file.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>We also have following JavaScript function on main page to change the query string of the image source.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>&lt;</span><span>script</span><span> <span>language</span><span>=&#8221;javascript&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span>function</span><span> changeImage(id)</span></p>
<p class="MsoNormal"><span>{</span></p>
<p class="MsoNormal"><span>var</span><span> hId = parseInt(window.document.getElementById(<span>&#8216;hdnId&#8217;</span>).value,0) + id;</span></p>
<p class="MsoNormal"><span>window.document.getElementById(<span>&#8216;hdnId&#8217;</span>).value = hId;</span></p>
<p class="MsoNormal"><span>window.document.getElementById(<span>&#8216;Image1&#8242;</span>).src = <span>&#8220;Image.ashx?id=&#8221;</span> + hId;</span></p>
<p class="MsoNormal"><span>}</span></p>
<p class="MsoNormal"><span>function</span><span> zoomImage(src)</span></p>
<p class="MsoNormal"><span>{</span></p>
<p class="MsoNormal"><span>window.document.getElementById(<span>&#8216;imageShow&#8217;</span>).style.display = <span>&#8221;</span>;</span></p>
<p class="MsoNormal"><span>window.document.getElementById(<span>&#8216;ifimageShow&#8217;</span>).src = src;</span></p>
<p class="MsoNormal"><span>}</span></p>
<p class="MsoNormal"><span>&lt;/</span><span>script</span><span>&gt;</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>At this point our client side code is done. </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Now following is our serverside code written in ashx file. </span></p>
<p class="MsoNormal"><span>Ashx is a generic handler, we can use it if there is no need to run any server side page event.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>using</span><span> System;</span></p>
<p class="MsoNormal"><span>using</span><span> System.Web;</span></p>
<p class="MsoNormal"><span>using</span><span> System.IO;</span></p>
<p class="MsoNormal"><span>using</span><span> System.Xml;</span></p>
<p class="MsoNormal"><span>public</span><span> <span>class</span> <span>Image</span> : <span>IHttpHandler</span> {</span></p>
<p class="MsoNormal"><span><span>   </span></span></p>
<p class="MsoNormal"><span><span>    </span><span>byte</span>[] imageFileBytes = <span>null</span>;</span></p>
<p class="MsoNormal"><span><span>    </span><span>string</span> img = <span>string</span>.Empty;</span></p>
<p class="MsoNormal"><span><span>    </span><span>public</span> <span>void</span> ProcessRequest (<span>HttpContext</span> context) </span></p>
<p class="MsoNormal"><span><span>    </span>{</span></p>
<p class="MsoNormal"><span><span>        </span>context.Response.ContentType = <span>&#8220;Application/octet-stream&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>        </span><span>if</span> (context.Request[<span>"id"</span>] != <span>null</span>)</span></p>
<p class="MsoNormal"><span><span>        </span>{</span></p>
<p class="MsoNormal"><span><span>        </span>img = <span>&#8220;Images/&#8221;</span> + context.Request[<span>"id"</span>] + <span>&#8220;.jpg&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>        </span>}</span></p>
<p class="MsoNormal"><span><span>        </span><span>else</span></span></p>
<p class="MsoNormal"><span><span>        </span>{</span></p>
<p class="MsoNormal"><span><span>            </span>img = <span>&#8220;Images/1.jpg&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>        </span>}</span></p>
<p class="MsoNormal"><span><span>        </span><span>string</span> physicalPath = context.Server.MapPath(img);</span></p>
<p class="MsoNormal"><span><span>        </span><span>if</span>(<span>File</span>.Exists(physicalPath))</span></p>
<p class="MsoNormal"><span><span>        </span>{</span></p>
<p class="MsoNormal"><span><span>        </span>imageFileBytes = <span>File</span>.ReadAllBytes(physicalPath);</span></p>
<p class="MsoNormal"><span><span>        </span>context.Response.BinaryWrite(imageFileBytes);</span></p>
<p class="MsoNormal"><span><span>            </span><span>//Write image in binary format over Http.</span></span></p>
<p class="MsoNormal"><span><span>        </span>}</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span><span>    </span>}</span></p>
<p class="MsoNormal"><span><span> </span></span></p>
<p class="MsoNormal"><span><span>    </span><span>public</span> <span>bool</span> IsReusable {</span></p>
<p class="MsoNormal"><span><span>        </span><span>get</span> {</span></p>
<p class="MsoNormal"><span><span>       </span><span>     </span><span>return</span> <span>false</span>;</span></p>
<p class="MsoNormal"><span><span>        </span>}</span></p>
<p class="MsoNormal"><span><span>    </span>}</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>We have to set the contentType for binary stream, since we are writing data as a stream.</span></p>
<p class="MsoNormal">This is very simple to implement, we can develop complex image album web application using this logic. One Ashx page will be enough to handle many requests.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajaxaspnet.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajaxaspnet.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajaxaspnet.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajaxaspnet.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajaxaspnet.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajaxaspnet.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajaxaspnet.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajaxaspnet.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajaxaspnet.wordpress.com&amp;blog=5169685&amp;post=19&amp;subd=ajaxaspnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajaxaspnet.wordpress.com/2008/10/15/ajax-like-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9f274fe52ac4d59486dbf1d06e2c6820?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ashishsarda</media:title>
		</media:content>
	</item>
		<item>
		<title>Page Methods</title>
		<link>http://ajaxaspnet.wordpress.com/2008/10/15/page-methods/</link>
		<comments>http://ajaxaspnet.wordpress.com/2008/10/15/page-methods/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 11:13:53 +0000</pubDate>
		<dc:creator>ashishsarda</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Page Methods]]></category>

		<guid isPermaLink="false">http://ajaxaspnet.wordpress.com/?p=15</guid>
		<description><![CDATA[MS Ajax gives us ability to directly create a web methods on aspx page. And also enable us to directly call these web method from the page. These type of methods are known as PageMethods. This is a very easy way to implement Ajax functionality on the page.  Page Method works simply as Web Methods [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajaxaspnet.wordpress.com&amp;blog=5169685&amp;post=15&amp;subd=ajaxaspnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span>MS Ajax gives us ability to directly create a web methods on aspx page. And also enable us to directly call these web method from the page. These type of methods are known as PageMethods.</span></p>
<p class="MsoNormal"><span>This is a very easy way to implement Ajax functionality on the page. </span></p>
<p class="MsoNormal"><span><br />
</span><span>Page Method works simply as Web Methods</span></p>
<p><span>Script Manager Plays critical role for the use of Page Methods, we need to set <strong>EnablePageMethods</strong> attribute to <strong>true</strong>.</span></p>
<p class="MsoNormal"><span>&lt;</span><span>asp</span><span>:</span><span>ScriptManager</span><span> </span><span>ID</span><span>=&#8221;ScriptManager1&#8243;</span><span> </span><span>runat</span><span>=&#8221;server&#8221;</span><span>EnablePageMethods</span><span>=&#8221;true&#8221; </span><span>EnablePartialRendering</span><span>=&#8221;true&#8221;</span><span> </span><span>/&gt;</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>To use webmethod attribute in Aspx page, use namespace</span></p>
<p class="MsoNormal"><span>using</span><span> </span><span>System.Web.Services</span></p>
<p class="MsoNormal"><span><br />
</span><span>Page Method should be static, as per the design by MS.</span><span><br />
</span><span>So our web method ( Page Method) will be as follows.</span></p>
<p class="MsoNormal"><span>[</span><span>WebMethod</span><span>]<br />
</span><span>public</span><span> </span><span>static</span><span> </span><span>string</span><span> </span><span>HelloUser(</span><span>string</span><span> </span><span>userName)<br />
{<br />
</span><span>return</span><span> </span><span>&#8220;Hello &#8220;</span><span> </span><span>+ userName;<br />
}</span></p>
<p class="MsoNormal"><span><br />
</span><span>Now to call above method from client script we need to add<strong>PageMethods</strong> before the method name</span></p>
<p class="MsoNormal"><span>&lt;script&gt;</span><span><br />
</span><span>function</span><span> callPageMethod(){<br />
alert(PageMethods.HelloUser(</span><span>&#8220;Test User&#8221;</span><span>));<br />
}</span><span><br />
</span><span>&lt;\script</span><span>&gt;</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Many times we need to handle different methods in different way, so in that case we need some special mechanism to handle the response from the server. We may also need to handle method failure errors in some customized way; we can also achieve this by adding extra parameters in PageMethods call.</span></p>
<p class="MsoNormal"><span>In short we can add callback methods for successful invocation of pagemethods as well as for the failure of the pagemethod.</span></p>
<p class="MsoNormal"><span>function</span><span> </span><span>callMethod(userName)<br />
{<br />
PageMethods.HelloUser(userName, OnSucceeded, OnFailed);<br />
}</span></p>
<p> </p>
<p class="MsoNormal"><span>// On Success callback</span><span><br />
</span><span>function</span><span> </span><span>OnSucceeded(result, userContext, methodName)<br />
{<br />
</span><span>if</span><span> </span><span>(methodName ==</span><span> </span><span>&#8220;HelloUser&#8221;</span><span>)<br />
{<br />
alert(result);<br />
}<br />
}</span></p>
<p class="MsoNormal"><span>// On failure callback.</span><span><br />
</span><span>function</span><span> </span><span>OnFailed(error, userContext, methodName)<br />
{<br />
</span><span>if</span><span>(error !==</span><span> </span><span>null</span><span>)<br />
{<br />
alert(error.get_message());<br />
}<br />
}</span></p>
<p class="MsoNormal"> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajaxaspnet.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajaxaspnet.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajaxaspnet.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajaxaspnet.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajaxaspnet.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajaxaspnet.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajaxaspnet.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajaxaspnet.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajaxaspnet.wordpress.com&amp;blog=5169685&amp;post=15&amp;subd=ajaxaspnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajaxaspnet.wordpress.com/2008/10/15/page-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9f274fe52ac4d59486dbf1d06e2c6820?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ashishsarda</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax Basics</title>
		<link>http://ajaxaspnet.wordpress.com/2008/10/14/ajax-basics/</link>
		<comments>http://ajaxaspnet.wordpress.com/2008/10/14/ajax-basics/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 08:41:04 +0000</pubDate>
		<dc:creator>ashishsarda</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[XMLHttpRequest Object]]></category>

		<guid isPermaLink="false">http://ajaxaspnet.wordpress.com/?p=3</guid>
		<description><![CDATA[  This article is for those who are new to Ajax. Ajax stands for Asynchronous Java And Xml. Ajax is the great solution for the new age of web applications, it simply helps developer to increase the performance of the site along with the more user interactive UI. Since web page is not getting refreshed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajaxaspnet.wordpress.com&amp;blog=5169685&amp;post=3&amp;subd=ajaxaspnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>This article is for those who are new to Ajax. Ajax stands for Asynchronous Java And Xml. Ajax is the great solution for the new age of web applications, it simply helps developer to increase the performance of the site along with the more user interactive UI. Since web page is not getting refreshed each time, it is more users friendly.<br />
The idea is; if page size is 500kb and only 10kb of data is to be updated, then if web application sending and receiving only 10kb data to and from server make more sense, than refreshing whole page. Also the request to server is asynchronously so that user can continue with the work instead of waiting for the response from the server.<br />
It really works fast a very good web experience, in old days of the web development each time user is suppose to wait for the whole page to get refreshed, not a good idea.</p>
<p class="MsoNormal"><span>Start with AJAX : </span></p>
<p class="MsoNormal"><span><span>                  </span>Ajax actually works because of the XMLHttpRequest object. Using this object web application can communicate with the server, i.e. either web service or the webpage. In this case web service or webpage will send required data to client page and then on client side using Java script corresponding field can be update. </span></p>
<p class="MsoNormal"><span><span> </span></span></p>
<p class="MsoNormal"><span>You can create XMLHttpRequest object as follows(Code is in JavaScript):</span></p>
<p class="MsoNormal"><span>var</span><span> request = <span>false</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>if</span> (window.XMLHttpRequest) <span>// if Mozilla, Safari etc</span></span></p>
<p class="MsoNormal"><span><span>            </span>request = <span>new</span> XMLHttpRequest()</span></p>
<p class="MsoNormal"><span><span>        </span><span>else</span> <span>if</span> (window.ActiveXObject)</span></p>
<p class="MsoNormal"><span><span>           </span>{ <span>// if IE</span></span></p>
<p class="MsoNormal"><span><span>            </span><span>try<span> {</span></span></span></p>
<p class="MsoNormal"><span><span><span>                 </span>request = <span>new</span> ActiveXObject(<span>&#8220;Msxml2.XMLHTTP&#8221;</span>)</span></span></p>
<p class="MsoNormal"><span><span>       </span><span>         </span>} </span></p>
<p class="MsoNormal"><span><span>    </span></span></p>
<p class="MsoNormal"><span><span>            </span><span>catch</span> (e)</span></p>
<p class="MsoNormal"><span><span>                </span>{</span></p>
<p class="MsoNormal"><span><span>                    </span><span>try</span></span></p>
<p class="MsoNormal"><span><span>                    </span>{</span></p>
<p class="MsoNormal"><span><span>                     </span>request = <span>new</span> ActiveXObject(<span>&#8220;Microsoft.XMLHTTP&#8221;</span>)</span></p>
<p class="MsoNormal"><span><span>                    </span>}</span></p>
<p class="MsoNormal"><span><span>                    </span><span>catch</span> (e){}</span></p>
<p class="MsoNormal"><span><span>                </span>}</span></p>
<p class="MsoNormal"><span><span>           </span><span> </span>} </span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><strong><span>“request” </span></strong><span>is the XMLHttpRequest object in above code. (Code is in JavaScript )</span></p>
<p class="MsoNormal"><span>Next step after this is to open the object connection and send the request</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span> Open method looks like<strong> </strong></span></p>
<p class="MsoNormal"><strong><span>XMLHttpRequest.open(</span></strong><var><strong><span>method,</span></strong></var><strong><span> <var><span>url</span></var>, in boolean <var><span>async, [user, password])</span></var></span></strong><strong></strong></p>
<p class="MsoNormal"><span>i.e. </span></p>
<p class="MsoNormal"><span>request.open(<span>&#8216;GET&#8217;</span>, url+parameter, <span>true</span>)</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>request.send(<span>null</span>)</span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span>(<span style="text-decoration:underline;">Here we are not going to use user and password</span>)</span></p>
<p class="MsoNormal"><span>but before this, we need to specify the function which will take care of the data return from the server. i.e. once we send request to the server using XMLHttpRequest object and once response comes from the server which function will handle it. </span></p>
<p class="MsoNormal"><span><span>      </span>Before sending the request we will specify the action; for this XMLHttpRequest object posses one event called as <strong>onreadystatechange. </strong>On this event we can specify which function should be called on each ready state change.</span></p>
<p class="MsoNormal"><span><span>      </span>Now before this will understand which are the states XMLHttpRequest object supports.</span></p>
<p class="MsoNormal"> </p>
<table class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="127" valign="top">
<p class="MsoNormal"><span>Ready   state value</span></p>
</td>
<td width="463" valign="top">
<p class="MsoNormal"><span>Desciption</span></p>
</td>
</tr>
<tr>
<td width="127" valign="top">
<p class="MsoNormal"><span>0</span></p>
</td>
<td width="463" valign="top">
<p class="MsoNormal"><span>Represents   an uninitialized state in which XMLHttpRequest object is created; and not   initialized</span></p>
</td>
</tr>
<tr>
<td width="127" valign="top">
<p class="MsoNormal"><span>1</span></p>
</td>
<td width="463" valign="top">
<p class="MsoNormal"><span>Open()   method has been successfully called</span></p>
</td>
</tr>
<tr>
<td width="127" valign="top">
<p class="MsoNormal"><span>2</span></p>
</td>
<td width="463" valign="top">
<p class="MsoNormal"><span>Sent () :   request has been sent to the server.</span></p>
</td>
</tr>
<tr>
<td width="127" valign="top">
<p class="MsoNormal"><span>3</span></p>
</td>
<td width="463" valign="top">
<p class="MsoNormal"><span>Represent   &#8220;receiving&#8221; state in which the HTTP response headers have been   received; message body has not yet been completely received.</span></p>
</td>
</tr>
<tr>
<td width="127" valign="top">
<p class="MsoNormal"><span>4</span></p>
</td>
<td width="463" valign="top">
<p class="MsoNormal"><span>Loaded,   data transfer has been completed.</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span>So the above code will change to </span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>request.onreadystatechange=<span>function</span>()</span><span> </span></p>
<p class="MsoNormal"><span>{ </span></p>
<p class="MsoNormal"><span>if(request.readyState == 4 &amp;&amp; request.status==200)</span></p>
<p class="MsoNormal"><span><span>      </span>{</span></p>
<p class="MsoNormal"><strong><span>//Here put your code</span></strong></p>
<p class="MsoNormal"><span>}</span></p>
<p class="MsoNormal"><span><span> </span>}</span></p>
<p class="MsoNormal"><span>request.open(<span>&#8216;GET&#8217;</span>, url+parameter, <span>true</span>)</span></p>
<p class="MsoNormal"><span><span>            </span>request.send(<span>null</span>)</span></p>
<p class="MsoNormal"><span>Properties of XMLHttpRequest object</span></p>
<ul type="disc">
<li class="MsoNormal"><span>The      readyState Property : this we have already discussed in the above topic.</span></li>
<li class="MsoNormal"><span>The responseText Property : this property contains the      text of the HTTP response received by client. responseText contains empty      string if readyState is 0,1,2. If it is 3 it contains partial response      received from the server. When it is 4 , reposneText contains complete      response.</span><strong></strong></li>
<li class="MsoNormal"><span>The responseXML Property : this represents XML response,      when ready state is 4.</span><strong></strong></li>
<li class="MsoNormal"><span>The status Property : this represents HTTP status code.      E.g. 200 means ok , 404 means page not found etc. (you can search on net      for the Http status codes.)</span><strong></strong></li>
<li class="MsoNormal"><span>The statusText Property : this will give you text for      the HTTP status i.e. for 200 it will say “Ok”.</span></li>
</ul>
<p class="MsoNormal"><strong><span>For more information: <a href="http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060927/">http://www.w3.org/TR/2006/WD-XMLHttpRequest-20060927/</a></span></strong></p>
<p class="MsoNormal"><span>Now we will develop a web application in which user will select the value in the combo box and on selection of the value dependent textbox will be filled. In this case on change event of the combo will be used to fire an Ajax request to the server and server in turns will send a response to the client. (Coding is done in asp.net 2.0)</span></p>
<p class="MsoNormal"><span> </span></p>
<ol type="1">
<li class="MsoNormal"><span>Create      a web application design a combo box and text box as follows </span></li>
</ol>
<p class="MsoNormal"><span>&lt;</span><span>body</span><span>&gt;</span></p>
<p class="MsoNormal"><span><span>    </span><span>&lt;</span><span>form</span> <span>id</span><span>=&#8221;form1&#8243;</span> <span>runat</span><span>=&#8221;server&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>    </span><span>&lt;</span><span>div</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span>This is the input dropdown list. Select any value and following text box will be</span></p>
<p class="MsoNormal"><span><span>        </span>filled.</span></p>
<p class="MsoNormal"><span><span>   </span><span>     </span><span>&lt;</span><span>asp</span><span>:</span><span>DropDownList</span> <span>ID</span><span>=&#8221;InputList&#8221;</span> <span>runat</span><span>=&#8221;server&#8221;&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span>Select values<span>&lt;/</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span>A<span>&lt;/</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span>B<span>&lt;/</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>                </span><span>&lt;</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span>C<span>&lt;/</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>  </span><span>              </span><span>&lt;</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span>D<span>&lt;/</span><span>asp</span><span>:</span><span>ListItem</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;/</span><span>asp</span><span>:</span><span>DropDownList</span><span>&gt;&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span>This is the dependent text box.</span></p>
<p class="MsoNormal"><span><span>        </span><span>&lt;</span><span>asp</span><span>:</span><span>TextBox</span> <span>ID</span><span>=&#8221;DependentOutput&#8221;</span> <span>runat</span><span>=&#8221;server&#8221;&gt;&lt;/</span><span>asp</span><span>:</span><span>TextBox</span><span>&gt;&lt;</span><span>br</span> <span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>    </span><span>&lt;/</span><span>div</span><span>&gt;</span></span></p>
<p class="MsoNormal"><span><span>   </span><span> </span><span>&lt;/</span><span>form</span><span>&gt;</span></span></p>
<ol type="1">
<li class="MsoNormal"><span>And in code      behind add attribute to “InputList” i.e. to combo box.</span></li>
</ol>
<p class="MsoNormal"><span>public</span><span> <span>partial</span> <span>class</span> <span>_Default</span> : System.Web.UI.<span>Page</span> </span></p>
<p class="MsoNormal"><span>{</span></p>
<p class="MsoNormal"><span><span>    </span><span>protected</span> <span>void</span> Page_Load(<span>object</span> sender, <span>EventArgs</span> e)</span></p>
<p class="MsoNormal"><span><span>    </span>{</span></p>
<p class="MsoNormal"><span><span>     </span>InputList.Attributes.Add(<span>&#8220;onchange&#8221;</span>, <span>&#8220;callToServer(this.value)&#8221;</span>);</span></p>
<p class="MsoNormal"><span><span>    </span>}</span></p>
<p class="MsoNormal"><span>}</span></p>
<p class="MsoNormal"><span>&#8220;callToServer(this.value)&#8221; </span><span>is the javascript function, this function will accept the selected value and send request to the server; using XMLHttpRequest object</span><span>.</span></p>
<ol type="1">
<li class="MsoNormal"><span>Now      add one webservice in the same project. Also add following prototypes in      web.config file.</span></li>
</ol>
<p class="MsoNormal"><span>&lt;</span><span>webServices</span><span>&gt;</span></p>
<p class="MsoNormal"><span><span>      </span>&lt;</span><span>protocols</span><span>&gt;</span></p>
<p class="MsoNormal"><span><span>        </span>&lt;</span><span>add</span><span> </span><span>name</span><span>=</span><span>&#8220;<span>HttpGet</span>&#8220;<span> /&gt;</span></span></p>
<p class="MsoNormal"><span><span>        </span>&lt;</span><span>add</span><span> </span><span>name</span><span>=</span><span>&#8220;<span>HttpPost</span>&#8220;<span>/&gt;</span></span></p>
<p class="MsoNormal"><span><span>      </span>&lt;/</span><span>protocols</span><span>&gt;</span></p>
<p class="MsoNormal"><span><span>    </span>&lt;/</span><span>webServices</span><span>&gt; </span></p>
<p class="MsoNormal"><span>Add above code in</span><span> </span><span>&lt;</span><span>system.web</span><span>&gt; </span><span>tab. This is required to communicate with webservice over http.</span></p>
<ol type="1">
<li class="MsoNormal"><span>Now write      one webmethod in the webservice. i.e.</span></li>
</ol>
<p class="MsoNormal"><span>[<span>WebMethod</span>]</span></p>
<p class="MsoNormal"><span><span>    </span><span>public</span> <span>string</span> sendMessage(<span>string</span> str) {</span></p>
<p class="MsoNormal"><span><span>        </span><span>string</span> retVal = <span>&#8220;&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>        </span><span>switch</span> (str)</span></p>
<p class="MsoNormal"><span><span>        </span>{ </span></p>
<p class="MsoNormal"><span><span>            </span><span>case</span> <span>&#8220;A&#8221;</span>:</span></p>
<p class="MsoNormal"><span><span>                </span>retVal = <span>&#8220;You have selected A&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>                </span><span>break</span>;</span></p>
<p class="MsoNormal"><span><span>   </span><span>         </span><span>case</span> <span>&#8220;B&#8221;</span>:</span></p>
<p class="MsoNormal"><span><span>                </span>retVal = <span>&#8220;You have selected B&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>                </span><span>break</span>;</span></p>
<p class="MsoNormal"><span><span>            </span><span>case</span> <span>&#8220;C&#8221;</span>:</span></p>
<p class="MsoNormal"><span><span>                </span>retVal = <span>&#8220;You have selected C&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>                </span><span>break</span>;</span></p>
<p class="MsoNormal"><span><span>            </span><span>case</span> <span>&#8220;D&#8221;</span>:</span></p>
<p class="MsoNormal"><span><span>                </span>retVal = <span>&#8220;You have selected D&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>   </span><span>             </span><span>break</span>;</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span><span>        </span>}</span></p>
<p class="MsoNormal"><span><span>        </span><span>return</span> retVal;</span></p>
<p class="MsoNormal"><span><span>    </span>} </span></p>
<p class="MsoNormal"><span>We will call this webMethod in our Ajax call.</span></p>
<p class="MsoNormal"><span> </span></p>
<ol type="1">
<li class="MsoNormal"><span>After      this, will write a<span>  </span>JavaScript      function <span>&#8220;callToServer(this.value)&#8221; </span>.      This function will be called on onchange event of dropdown list (Ref point      1).</span></li>
</ol>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>function</span><span> callToServer(val)</span></p>
<p class="MsoNormal"><span><span>    </span>{</span></p>
<p class="MsoNormal"><span><span>    </span><span>// Url will change according to your websevice</span></span></p>
<p class="MsoNormal"><span><span>    </span><span>var</span> url = <span>&#8220;http://localhost:1027/WebSite3/webservice.asmx/sendMessage?str=&#8221;</span>+val;</span></p>
<p class="MsoNormal"><span><span>    </span><span>// For more than one prameter in webMethod </span></span></p>
<p class="MsoNormal"><span><span>    </span><span>// var url = &#8220;http://localhost:1027/WebSite3/webservice.asmx/sendMessage?str=&#8221;+val + &#8220;&amp;para1=123&amp;para2=qwe;</span></span></p>
<p class="MsoNormal"><span><span>        </span><span>if</span> (window.XMLHttpRequest) <span>// if Mozilla, Safari etc</span></span></p>
<p class="MsoNormal"><span><span>            </span>request = <span>new</span> XMLHttpRequest();</span></p>
<p class="MsoNormal"><span><span>        </span><span>else</span> <span>if</span> (window.ActiveXObject)</span></p>
<p class="MsoNormal"><span><span>           </span>{ <span>// if IE</span></span></p>
<p class="MsoNormal"><span><span>          </span><span>  </span><span>try</span> </span></p>
<p class="MsoNormal"><span><span>                </span>{</span></p>
<p class="MsoNormal"><span><span>                 </span>request = <span>new</span> ActiveXObject(<span>&#8220;Msxml2.XMLHTTP&#8221;</span>);</span></p>
<p class="MsoNormal"><span><span>                </span>}   </span></p>
<p class="MsoNormal"><span><span>            </span><span>catch</span> (e)</span></p>
<p class="MsoNormal"><span><span>                </span>{</span></p>
<p class="MsoNormal"><span><span>                    </span><span>try</span></span></p>
<p class="MsoNormal"><span><span>                    </span>{ </span></p>
<p class="MsoNormal"><span><span>                     </span>request = <span>new</span> ActiveXObject(<span>&#8220;Microsoft.XMLHTTP&#8221;</span>);</span></p>
<p class="MsoNormal"><span><span>                    </span>}</span></p>
<p class="MsoNormal"><span><span>                    </span><span>catch</span> (e){}</span></p>
<p class="MsoNormal"><span><span>                </span>}</span></p>
<p class="MsoNormal"><span><span>            </span>}</span></p>
<p class="MsoNormal"><span><span>         </span><span>if</span>(request)</span></p>
<p class="MsoNormal"><span><span>            </span>{<span>   </span></span></p>
<p class="MsoNormal"><span><span>                </span>request.onreadystatechange=handleResponse;</span></p>
<p class="MsoNormal"><span><span>                </span>request.open(<span>&#8220;GET&#8221;</span>, url, <span>true</span>);</span></p>
<p class="MsoNormal"><span><span>         </span><span>       </span>request.send(<span>null</span>);</span></p>
<p class="MsoNormal"><span><span>               </span></span></p>
<p class="MsoNormal"><span><span>                </span>}<span>   </span></span></p>
<p class="MsoNormal"><span><span>    </span>}</span></p>
<p class="MsoNormal"><span>If you observe the url it is the url of the webserivce in the same project. </span></p>
<p class="MsoNormal"><strong><span>Here we have to use url which is under the same domain, Firefox doesn’t allow cross refrence, and IE give warning (i.e. IE 6).</span></strong></p>
<p class="MsoNormal"><span>Means </span></p>
<p class="MsoNormal"><span>var</span><span> url = <span>&#8220;http://domain1/WebSite/webservice.asmx/sendMessage?str=&#8221;</span>+val;</span></p>
<p class="MsoNormal"><span>this will give warning in the IE 6 but Firefox will not allow you to access this webservice.</span></p>
<p class="MsoNormal">In the above function check<span>  </span><strong>request.onreadystatechange=handleResponse;</strong></p>
<p class="MsoNormal"><span>Here if you obsever onreadystatechange on function named handleResponse is called. So in the next step we will have to write a function which will handle the response from the server.</span></p>
<ol type="1">
<li class="MsoNormal"><strong><span>handleResponse </span></strong><span>function      will be as follows</span></li>
</ol>
<p class="MsoNormal"><span><span>  </span><span>function</span> handleResponse()</span></p>
<p class="MsoNormal"><span><span>        </span>{</span></p>
<p class="MsoNormal"><span><span>                </span><span>if</span>(request.readyState == 4 &amp;&amp; request.status == 200)</span></p>
<p class="MsoNormal"><span><span>                </span>{</span></p>
<p class="MsoNormal"><span><span>                    </span><span>if</span> (window.ActiveXObject) <span>// for IE</span></span></p>
<p class="MsoNormal"><span><span>                        </span>{</span></p>
<p class="MsoNormal"><span><span>                        </span><span>var</span> doc=<span>new</span> ActiveXObject(<span>&#8220;Microsoft.XMLDOM&#8221;</span>);</span></p>
<p class="MsoNormal"><span><span>                        </span>doc.async=<span>&#8220;false&#8221;</span>;</span></p>
<p class="MsoNormal"><span><span>                        </span>doc.loadXML(request.responseText);</span></p>
<p class="MsoNormal"><span><span>                        </span>}</span></p>
<p class="MsoNormal"><span><span>                          </span><span>// code for Mozilla, Firefox, Opera, etc.</span></span></p>
<p class="MsoNormal"><span><span>                    </span><span>else</span></span></p>
<p class="MsoNormal"><span><span>                        </span>{</span></p>
<p class="MsoNormal"><span><span>  </span><span>                      </span><span>var</span> parser=<span>new</span> DOMParser();</span></p>
<p class="MsoNormal"><span><span>                        </span><span>var</span> doc=parser.parseFromString(request.responseText,<span>&#8220;text/xml&#8221;</span>);</span></p>
<p class="MsoNormal"><span><span>                        </span>}</span></p>
<p class="MsoNormal"><span><span>                        </span><span>try</span></span></p>
<p class="MsoNormal"><span><span>                        </span>{</span></p>
<p class="MsoNormal"><span><span>                         </span><span>var</span> data = doc.documentElement.childNodes[0].nodeValue;</span></p>
<p class="MsoNormal"><span><span>                        </span>window.document.getElementById(<span>&#8216;DependentOutput&#8217;</span>).value = data;</span></p>
<p class="MsoNormal"><span><span>                        </span>}</span></p>
<p class="MsoNormal"><span><span>                        </span><span>catch</span>(e) {}</span></p>
<p class="MsoNormal"><span><span>                </span>}</span></p>
<p class="MsoNormal"><span><span>        </span>}<span>  </span></span></p>
<p class="MsoNormal"><span>Since the response is from webservice and it is in the xmlformat, we have to use parser to parse the data. If you want to see what is the response from the server add</span><span> <strong>alert(</strong></span><strong><span>request.responseText) </span></strong><span>in the above code after 1<sup>st</sup> if condition.</span></p>
<p class="MsoNormal"><strong><span>window.document.getElementById(<span>&#8216;DependentOutput&#8217;</span>).value = data; </span></strong><span>this line will fill the textbox with the response from the server.</span></p>
<p class="MsoNormal"><span>This how we can create Ajax application, it’s very simple and easy. Once you understand this concept, you can modify the code and make it more complex as per your requirements.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>I am attaching the Demo web application and have the same code explained in the above document</span>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajaxaspnet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajaxaspnet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajaxaspnet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajaxaspnet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajaxaspnet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajaxaspnet.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajaxaspnet.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajaxaspnet.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajaxaspnet.wordpress.com&amp;blog=5169685&amp;post=3&amp;subd=ajaxaspnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajaxaspnet.wordpress.com/2008/10/14/ajax-basics/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9f274fe52ac4d59486dbf1d06e2c6820?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ashishsarda</media:title>
		</media:content>
	</item>
	</channel>
</rss>
