<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>DynAjax</title><link>http://www.codeplex.com/dynajax/Project/ProjectRss.aspx</link><description>DynAjax is a Javascript &amp;#47; Ajax &amp;#47; ASP.Net &amp;#47; C&amp;#35; Framework easing dynamic calls to business &amp;#47; service C&amp;#35; methods directly from JavaScript code &amp;#40;like DWR framework does in Java World&amp;#41;. The object seria...</description><item><title>NEW POST: Server exceptions trapping</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=25877</link><description>&lt;div class="wikidoc"&gt;
after that ,you should change your call action in javascript like this:&lt;br /&gt;&lt;b&gt;synchronous&lt;/b&gt;&lt;br /&gt;var response = MyClass.myMethod(null,myArgs);&lt;br /&gt;if (response &amp;gt;= 2) {&lt;br /&gt;--- code here ---&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;b&gt;asynchronous&lt;/b&gt;&lt;br /&gt;MyClass.myMethod(function(response) {&lt;br /&gt;if (response &amp;gt;= 2) {&lt;br /&gt;--- code here ---&lt;br /&gt;}&lt;br /&gt;},myArgs);&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>kaima</author><pubDate>Mon, 28 Apr 2008 05:36:45 GMT</pubDate><guid isPermaLink="false">NEW POST: Server exceptions trapping 20080428053645A</guid></item><item><title>NEW POST: Server exceptions trapping</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=25877</link><description>&lt;div class="wikidoc"&gt;
Actually,just make javascript support overload ,then DynAjax can support overload too.By the way,I have made DynAjax support jQuery.&lt;br /&gt;-----------------------------------------------&lt;br /&gt;dynAjax.aspx (for jQuery)&lt;br /&gt;-----------------------------------------------&lt;br /&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeBehind=&amp;quot;Ajax.aspx.cs&amp;quot; Inherits=&amp;quot;WWW.Scripts.Ajax&amp;quot; %&amp;gt;&lt;br /&gt;function DynAjaxManager(){}&lt;br /&gt;DynAjaxManager.prototype = {&lt;br /&gt;    initialize: function() {},&lt;br /&gt;    getDynaData: function(callBackMethod,classId,methodName,args) {&lt;br /&gt;        var dynaResult = null; &lt;br /&gt;        var asyncCall = false;&lt;br /&gt;        if (callBackMethod &amp;amp;&amp;amp; typeof callBackMethod == &amp;quot;function&amp;quot;) {&lt;br /&gt;            asyncCall = true;&lt;br /&gt;        }&lt;br /&gt;        $.ajax({&lt;br /&gt;        type:&amp;quot;POST&amp;quot;,&lt;br /&gt;        url:&amp;quot;_AjaxHandler.aspx&amp;quot;,&lt;br /&gt;        data:&amp;quot;classId=&amp;quot; + encodeURIComponent(classId) + &amp;quot;&amp;amp;methodName=&amp;quot; + encodeURIComponent(methodName) + &amp;quot;&amp;amp;methodArgs=&amp;quot; + encodeURIComponent(JSON.stringify(args)),&lt;br /&gt;        async:asyncCall,&lt;br /&gt;        success:function(request){&lt;br /&gt;                    dynaResult = eval('('&lt;u&gt;request&lt;/u&gt;')');//JSON.parse(request);&lt;br /&gt;                    if (callBackMethod) {&lt;br /&gt;                        callBackMethod(dynaResult);&lt;br /&gt;                    }&lt;br /&gt;                },&lt;br /&gt;        error:function(e) {&lt;br /&gt;                    dynaResult = null;&lt;br /&gt;                    if (callBackMethod) {&lt;br /&gt;                        callBackMethod(dynaResult);&lt;br /&gt;                    }&lt;br /&gt;              }&lt;br /&gt;        });&lt;br /&gt;        return dynaResult;&lt;br /&gt;    }&lt;br /&gt;};&lt;br /&gt;var dynAjaxManager = new DynAjaxManager();&lt;br /&gt; &lt;br /&gt;&lt;b&gt;//this method can make javascript support overload&lt;/b&gt;&lt;br /&gt;function DynAjaxAddMethod(object, name, fn){&lt;br /&gt;  var old = object&lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=%20name%20"&gt; name &lt;/a&gt;;&lt;br /&gt;      object&lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=%20name%20"&gt; name &lt;/a&gt; = function(){&lt;br /&gt;          if ( fn.length == arguments.length ){&lt;br /&gt;              return fn.apply( this, arguments );&lt;br /&gt;          }&lt;br /&gt;          else if ( typeof old == 'function' ){&lt;br /&gt;              return old.apply( this, arguments );&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;};&lt;br /&gt; &lt;br /&gt;&amp;lt;%= dynamicJsText %&amp;gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;-----------------------------------------------&lt;br /&gt;dynAjax.aspx.cs&lt;br /&gt;-----------------------------------------------&lt;br /&gt;... ....&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// create【class】&lt;br /&gt;    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;classNode&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        protected void addClassDefinition(XmlNode classNode)&lt;br /&gt;        {&lt;br /&gt;            string className = classNode.Attributes&lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=%22id%22"&gt;&amp;quot;id&amp;quot;&lt;/a&gt;.Value;&lt;br /&gt;            dynamicJsText += &amp;quot;function &amp;quot; + className + &amp;quot;DYNClass(){&amp;quot;;&lt;br /&gt; &lt;br /&gt;            XmlNodeList nodesList = classNode.SelectNodes(&amp;quot;dynajax:method&amp;quot;, nsmgr);&lt;br /&gt;            for (int i = 0; i &amp;lt; nodesList.Count; i++)&lt;br /&gt;            {&lt;br /&gt;                addMethodDefinitionReload(className, nodesList&lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=i"&gt;i&lt;/a&gt;);&lt;br /&gt;            }&lt;br /&gt;            dynamicJsText += &amp;quot;\n};\n&amp;quot;;&lt;br /&gt;            dynamicJsText += &amp;quot;var &amp;quot; + className + &amp;quot; = new &amp;quot; + className + &amp;quot;DYNClass();\n\n&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// create【overload javascript methoed】&lt;br /&gt;     /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;className&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;methodNode&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;        protected void addMethodDefinitionReload(string className, XmlNode methodNode)&lt;br /&gt;        {&lt;br /&gt;            XmlNodeList paramsList = methodNode.SelectNodes(&amp;quot;dynajax:param&amp;quot;, nsmgr);&lt;br /&gt;            string paramsListStr = &amp;quot;&amp;quot;;&lt;br /&gt;            string separator = &amp;quot;&amp;quot;;&lt;br /&gt;            foreach (XmlNode paramNode in paramsList)&lt;br /&gt;            {&lt;br /&gt;                paramsListStr += separator + paramNode.Attributes&lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=%22name%22"&gt;&amp;quot;name&amp;quot;&lt;/a&gt;.Value;&lt;br /&gt;                separator = &amp;quot;,&amp;quot;;&lt;br /&gt;            }&lt;br /&gt; &lt;br /&gt;            string methodName = methodNode.Attributes&lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=%22name%22"&gt;&amp;quot;name&amp;quot;&lt;/a&gt;.Value;&lt;br /&gt;            if(paramsList.Count!=0){&lt;br /&gt;                        dynamicJsText += &amp;quot;\n  DynAjaxAddMethod(this,\&amp;quot;&amp;quot; + methodName + &amp;quot;\&amp;quot;,function(callBackMethod,&amp;quot; + paramsListStr + &amp;quot;) {\n&amp;quot;;&lt;br /&gt;            }else{&lt;br /&gt;                dynamicJsText += &amp;quot;\n  DynAjaxAddMethod(this,\&amp;quot;&amp;quot; + methodName + &amp;quot;\&amp;quot;,function(callBackMethod) {\n&amp;quot;;&lt;br /&gt;            }&lt;br /&gt;            dynamicJsText += &amp;quot;    var args = &lt;a href="http://www.codeplex.com/dynajax/Wiki/View.aspx?title=%22%20%2b%20paramsListStr%20%2b%20%22"&gt;&amp;quot; + paramsListStr + &amp;quot;&lt;/a&gt;;\n&amp;quot;;&lt;br /&gt;            dynamicJsText += &amp;quot;    return dynAjaxManager.getDynaData(callBackMethod,'&amp;quot; + className + &amp;quot;','&amp;quot; + methodName + &amp;quot;',args);\n&amp;quot;;&lt;br /&gt;            dynamicJsText += &amp;quot;  });&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;... ...&lt;br /&gt;
&lt;/div&gt;</description><author>kaima</author><pubDate>Mon, 28 Apr 2008 05:29:08 GMT</pubDate><guid isPermaLink="false">NEW POST: Server exceptions trapping 20080428052908A</guid></item><item><title>NEW POST: Server exceptions trapping</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=25877</link><description>&lt;div class="wikidoc"&gt;
Hello Kaima,&lt;br /&gt; &lt;br /&gt;thank you for your post.&lt;br /&gt;no, DynAjax doesn't support overload, and I'm interested in your idea to make it support overload...&lt;br /&gt;It's a pleasure to see people who are interested in DynAjax improvements, don't hesitate to give us more and more feedbacks.&lt;br /&gt; &lt;br /&gt;magicben&lt;br /&gt;
&lt;/div&gt;</description><author>magicben</author><pubDate>Sun, 27 Apr 2008 08:41:33 GMT</pubDate><guid isPermaLink="false">NEW POST: Server exceptions trapping 20080427084133A</guid></item><item><title>NEW POST: Send Complex objects parameter ,always return null?</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=24176</link><description>&lt;div class="wikidoc"&gt;
I see.Thank you.&lt;br /&gt;
&lt;/div&gt;</description><author>kaima</author><pubDate>Sat, 26 Apr 2008 03:25:04 GMT</pubDate><guid isPermaLink="false">NEW POST: Send Complex objects parameter ,always return null? 20080426032504A</guid></item><item><title>NEW POST: Server exceptions trapping</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=25877</link><description>&lt;div class="wikidoc"&gt;
This would be a cool feature.Thanks for your efforts.&lt;br /&gt; &lt;br /&gt;Now ,I doubt that DynAjax can support &amp;quot;overload method&amp;quot; or not?&lt;br /&gt; &lt;br /&gt;if can't,I have a idea to make DynAjax support &amp;quot;overload &amp;quot;.&lt;br /&gt;
&lt;/div&gt;</description><author>kaima</author><pubDate>Sat, 26 Apr 2008 03:21:32 GMT</pubDate><guid isPermaLink="false">NEW POST: Server exceptions trapping 20080426032132A</guid></item><item><title>NEW POST: Server exceptions trapping</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=25877</link><description>&lt;div class="wikidoc"&gt;
Hello all,&lt;br /&gt; &lt;br /&gt;as you can see, latest release (v1.05) implements a great new feature: Server exceptions trapping.&lt;br /&gt;Every exceptions trhown on server side can be catched and interpreted in different ways on client side.&lt;br /&gt; &lt;br /&gt;Thanks for your support and downloads,&lt;br /&gt;magicben&lt;br /&gt;
&lt;/div&gt;</description><author>magicben</author><pubDate>Mon, 14 Apr 2008 08:44:30 GMT</pubDate><guid isPermaLink="false">NEW POST: Server exceptions trapping 20080414084430A</guid></item><item><title>UPDATED RELEASE: DynAjax v1.05 (avr. 06, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=12329</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.05 adds great new feature&amp;#58; Server exceptions trapping.&lt;br /&gt;DynAjax now allows to catch Server methods Exceptions and proposes custom treatments.&lt;br /&gt;&lt;br /&gt;New sample page has been added - demonstration of server Exceptions custom  trapping.&lt;br /&gt;&lt;br /&gt;_This release is stable._&lt;br /&gt;_This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41;._&lt;br /&gt;&lt;br /&gt;_&amp;#42;Information&amp;#58;&amp;#42; a new release v1.05b has been uploaded &amp;#40;7th April 2008&amp;#41; - code comments updated._</description><author></author><pubDate>Mon, 07 Apr 2008 19:00:49 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.05 (avr. 06, 2008) 20080407070049P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.05b (avr. 06, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=12329</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.05 adds great new feature&amp;#58; Server exceptions trapping.&lt;br /&gt;DynAjax now allows to catch Server methods Exceptions and proposes custom treatments.&lt;br /&gt;&lt;br /&gt;New sample page has been added - demonstration of server Exceptions custom  trapping.&lt;br /&gt;&lt;br /&gt;_This release is stable._&lt;br /&gt;_This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41;._&lt;br /&gt;&lt;br /&gt;_&amp;#42;Information&amp;#58;&amp;#42; a new release v1.05b has been uploaded &amp;#40;7th April 2008&amp;#41; - code comments updated._</description><author></author><pubDate>Mon, 07 Apr 2008 19:00:08 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.05b (avr. 06, 2008) 20080407070008P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/dynajax/SourceControl/ListDownloadableCommits.aspx</link><description>Update of the Default.aspx page on dynajaxWeb solution&amp;#13;&amp;#10;Update comments on all pages and code&amp;#58; set v1.05 information&amp;#13;&amp;#10;add v1.05 info on footer user control</description><author>magicben</author><pubDate>Mon, 07 Apr 2008 18:59:14 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080407065914P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.05 (avr. 06, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=12329</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.05 adds great new feature&amp;#58; Server exceptions trapping.&lt;br /&gt;DynAjax now allows to catch Server methods Exceptions and proposes custom treatments.&lt;br /&gt;&lt;br /&gt;New sample page has been added - demonstration of server Exceptions custom  trapping.&lt;br /&gt;&lt;br /&gt;_This release is stable._&lt;br /&gt;_This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41;._&lt;br /&gt;&lt;br /&gt;_&amp;#42;Information&amp;#58;&amp;#42; a new release v1.05b has been uploaded &amp;#40;7th April 2008&amp;#41; - code comments updated._</description><author></author><pubDate>Mon, 07 Apr 2008 18:58:00 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.05 (avr. 06, 2008) 20080407065800P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.03 (févr. 17, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=10804</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.03 is the first release version on CodePlex.&lt;br /&gt;This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41; .&lt;br /&gt;&lt;br /&gt;&amp;#42;_New release available &amp;#40;v1.05&amp;#41;, please visit this page&amp;#58; &amp;#91;release&amp;#58;12329&amp;#93;_&amp;#42;</description><author></author><pubDate>Sun, 06 Apr 2008 15:02:36 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.03 (févr. 17, 2008) 20080406030236P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.04 (févr. 23, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=11051</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.04 adds new features&amp;#58;&lt;br /&gt;- support for web.config &amp;#40;configuration file path can be defined into the web.config file&amp;#41;&lt;br /&gt;- new way to call methods dynamically&lt;br /&gt;- new samples available&lt;br /&gt;&lt;br /&gt;_This release is stable._&lt;br /&gt;_This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41; ._&lt;br /&gt;&lt;br /&gt;&amp;#42;_New release available &amp;#40;v1.05&amp;#41;, please visit this page&amp;#58; &amp;#91;release&amp;#58;12329&amp;#93;_&amp;#42;</description><author></author><pubDate>Sun, 06 Apr 2008 15:01:27 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.04 (févr. 23, 2008) 20080406030127P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.03 (févr. 17, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=10804</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.03 is the first release version on CodePlex.&lt;br /&gt;This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41; .&lt;br /&gt;&lt;br /&gt;&amp;#42;_New release available &amp;#40;v1.05&amp;#41;, please visit this page&amp;#58; &amp;#91;release&amp;#58;12329&amp;#93;_&amp;#42;</description><author></author><pubDate>Sun, 06 Apr 2008 15:00:48 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.03 (févr. 17, 2008) 20080406030048P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.03 (févr. 17, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=10804</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.03 is the first release version on CodePlex.&lt;br /&gt;This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41; .&lt;br /&gt;&lt;br /&gt;_New release available &amp;#40;v1.05&amp;#41;, please visit this page&amp;#58; &amp;#91;release&amp;#58;12329&amp;#93;_</description><author></author><pubDate>Sun, 06 Apr 2008 15:00:14 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.03 (févr. 17, 2008) 20080406030014P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.05 (avr. 06, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=12329</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.05 adds great new feature&amp;#58; Server exceptions trapping.&lt;br /&gt;DynAjax now allows to catch Server methods Exceptions and proposes custom treatments.&lt;br /&gt;&lt;br /&gt;New sample page has been added - demonstration of server Exceptions custom  trapping.&lt;br /&gt;&lt;br /&gt;_This release is stable._&lt;br /&gt;_This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41;._</description><author></author><pubDate>Sun, 06 Apr 2008 14:59:21 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.05 (avr. 06, 2008) 20080406025921P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/dynajax/Wiki/View.aspx?title=Home&amp;version=15</link><description>&lt;div class="wikidoc"&gt;
&lt;h3&gt;
&lt;a href="http://www.dynajax.org" class="externalLink"&gt;DynAjax&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/h3&gt;&lt;h2&gt;
Project Description
&lt;/h2&gt;DynAjax is a Javascript &amp;#47; Ajax &amp;#47; ASP.Net &amp;#47; C&amp;#35; Framework easing dynamic calls to business &amp;#47; service C&amp;#35; methods directly from JavaScript code &amp;#40;like DWR framework does in Java World&amp;#41;. The object serialization is based on JSON, permitting complex objects exchange.
&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Download latest release (v1.05)
&lt;/h2&gt;&lt;a href="http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=12329"&gt;DynAjax v1.05&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
What is DynAjax ?
&lt;/h2&gt;DynAjax is a development framework based on C# .Net / ASP .Net on server side and Prototype on client side (Javascript useful library) that permits direct call of server side C# methods from client side Javascript.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Who is DynAjax for ?
&lt;/h2&gt;Every C# / ASP .Net developpers who want to add efficient and easy to use Ajax to their web applications and professional developments (I created it for my own professional needs / use).&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
What can DynAjax do ?
&lt;/h2&gt;Imagine you're developping a professional web application and you need to save a text typed by user into the database without posting HTML Form and reloading the entire page. Obviously, you'll use the Ajax technology for that.&lt;br /&gt;What about defining entire XmlHttpRequest (Ajax) request and check the response codes etc. to send data and be sure it has been saved correctly ? it's boring.&lt;br /&gt;With DynAjax, you can save this text via the following JavaScript code (suppose you get a public method called 'saveText' into your class 'MyClass' that returns the string &amp;quot;ok&amp;quot; if everything was fine) :&lt;br /&gt;&lt;pre&gt;
var response = MyClass.saveText(myText);
if (response == &amp;quot;ok&amp;quot;) {
    --- code here ---
}
&lt;/pre&gt;Very simple to use, isn't it ?&lt;br /&gt;Visit &lt;a href="http://samples.dynajax.org" class="externalLink"&gt;Samples page&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to get a lot of sources / samples.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Is DynAjax synchronous or asynchronous ?
&lt;/h2&gt;It's up to you: if you want DynAjax to be synchronous, use the following code:&lt;br /&gt;&lt;pre&gt;
var response = MyClass.myMethod(myArgs);
if (response &amp;gt;= 2) {
    --- code here ---
}
&lt;/pre&gt;Now you want an asynchronous call, just use the second syntax:&lt;br /&gt;&lt;pre&gt;
MyClass.myMethod(myArgs, function(response) {
        if (response &amp;gt;= 2) {
            --- code here ---
        }
    });
&lt;/pre&gt;DynAjax recognizes automatically the way you want it to be used.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
What kind of data can be returned by DynAjax to client JavaScript ?
&lt;/h2&gt;Data of almost any type can be returned by server. Actually, data are transmitted in JSON format (an exchange format between JavaScript and other languages, including C# .Net).&lt;br /&gt;This format permits the following data types:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Strings&lt;/li&gt;&lt;li&gt;Numbers (int, decimal...)&lt;/li&gt;&lt;li&gt;Booleans&lt;/li&gt;&lt;li&gt;Arrays&lt;/li&gt;&lt;li&gt;HashTables&lt;/li&gt;&lt;li&gt;Complex objects (made of Properties, Arrays, HashTables, Arrays of other complex objects etc.)&lt;/li&gt;&lt;li&gt;&amp;quot;null&amp;quot; value&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;As you can see, almost everything is possible: you can, for example, if you need to develop a site like eBay, call a method that return a list of Product instances to display on user search - you just have to iterate on list and have access to all Product instances properties as you were in C# code.&lt;br /&gt;Please visit &lt;a href="http://www.json.org/" class="externalLink"&gt;Json description site&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; if you want further informations about this format.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
What about security ?
&lt;/h2&gt;DynAjax provides security checks on all methods you can call remotely.&lt;br /&gt;Actually, each method has to be defined into an XML configuration file and you can specify wether it needs - or not - authentication on your application.&lt;br /&gt;Thus, hackers aren't able to call remote methods without granted access.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Is it difficult to install / set up DynAjax into my web application ?
&lt;/h2&gt;No, DynAjax is based on 8 files :&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;DynAjaxHandler.aspx and DynAjaxHandler.cs - the Ajax handler that will receive and dispatch all DynAjax calls&lt;/li&gt;&lt;li&gt;dynAjaxScript.aspx and dynAjaxScript.cs - the dynamix JavaScript part of DynAjax (it's JavaScript, though its extension is .aspx)&lt;/li&gt;&lt;li&gt;prototype.js - the prototype framework&lt;/li&gt;&lt;li&gt;Newtonsoft.Json.dll - a Json library for .Net&lt;/li&gt;&lt;li&gt;log4net.dll - logging library&lt;/li&gt;&lt;li&gt;dynAjaxConfig.xml - the DynAjax configuration file (in XML format)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;These 8 files must be copied into your web application directory, and only the dynAjaxConfig.xml needs to be updated to suit your needs.&lt;br /&gt;Pretty easy, no ?&lt;br /&gt;Take a look at the first tutorial &lt;a href="http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=10811"&gt;DynAjax tutorial 01&lt;/a&gt; to get step by step DynAjax configuration.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
How do I configure my methods definition ?
&lt;/h2&gt;You can visit this Wiki page: configuration, everything's explained.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Who supports this framework ?
&lt;/h2&gt;Me (Mr Beno&amp;#238;t BEGUIN) and my company &lt;a href="http://www.odesys.fr" class="externalLink"&gt;Odesys&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Feel free to contact us at &lt;a href="mailto:admin@dynajax.org" class="externalLink"&gt;admin@dynajax.org&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; to get informations, report bugs or suggest new features.&lt;br /&gt;
&lt;/div&gt;</description><author>magicben</author><pubDate>Sun, 06 Apr 2008 14:58:39 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080406025839P</guid></item><item><title>UPDATED RELEASE: DynAjax v1.04 (févr. 23, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=11051</link><description>&amp;#42;DynAjax - Web remoting method call&amp;#42;&lt;br /&gt;&lt;br /&gt;DynAjax v1.04 adds new features&amp;#58;&lt;br /&gt;- support for web.config &amp;#40;configuration file path can be defined into the web.config file&amp;#41;&lt;br /&gt;- new way to call methods dynamically&lt;br /&gt;- new samples available&lt;br /&gt;&lt;br /&gt;_This release is stable._&lt;br /&gt;_This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41; ._</description><author></author><pubDate>Sun, 06 Apr 2008 14:57:24 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: DynAjax v1.04 (févr. 23, 2008) 20080406025724P</guid></item><item><title>CREATED RELEASE: DynAjax v1.05 (avr. 06, 2008)</title><link>http://www.codeplex.com/dynajax/Release/ProjectReleases.aspx?ReleaseId=12329</link><description>DynAjax - Web remoting method call.&lt;br /&gt;&lt;br /&gt;DynAjax v1.05 adds great new feature&amp;#58; Server exceptions trapping.&lt;br /&gt;DynAjax now allows to catch Server methods Exceptions and proposes custom treatments.&lt;br /&gt;&lt;br /&gt;New sample page has been added - demonstration of server Exceptions custom  trapping.&lt;br /&gt;&lt;br /&gt;This release is stable.&lt;br /&gt;This release is based on log4net, newtonsoft.JSON, and the brand new version of prototype.js &amp;#40;v1.6&amp;#41;.</description><author></author><pubDate>Sun, 06 Apr 2008 14:56:02 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: DynAjax v1.05 (avr. 06, 2008) 20080406025602P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/dynajax/SourceControl/ListDownloadableCommits.aspx</link><description>Exception management added - now DynAjax can handle server exception and propose custom events&amp;#13;&amp;#10;New XML schema</description><author>magicben</author><pubDate>Sun, 06 Apr 2008 14:47:46 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080406024746P</guid></item><item><title>NEW POST: This Framework is COOL!</title><link>http://www.codeplex.com/dynajax/Thread/View.aspx?ThreadId=23965</link><description>&lt;div class="wikidoc"&gt;
Thank you very much,&lt;br /&gt;and this is only the beginning, brand new cool features will be added soon:&lt;br /&gt;- reverse ajax (server will be able to call javascript methods)&lt;br /&gt;- exception management (server exceptions will be treated as you want: send null, call methods... cool stuff)&lt;br /&gt;- class proxy: DynAjax will permit to expose not only methods but CLASSES as well.&lt;br /&gt; &lt;br /&gt;Thank you again,&lt;br /&gt;magicben - admin@dynajax.org&lt;br /&gt;
&lt;/div&gt;</description><author>magicben</author><pubDate>Wed, 02 Apr 2008 20:49:50 GMT</pubDate><guid isPermaLink="false">NEW POST: This Framework is COOL! 20080402084950P</guid></item></channel></rss>