Last post Jun 18, 2006 10:07 AM by databasedude
Aug 30, 2005 11:39 PM|dharmesh|LINK
Aug 31, 2005 01:01 AM|dharmesh|LINK
I am happy to announce that Donald King of AgileWise, LLC (http://www.agilewise.com) is the proud winner of the $100 reward.
Donald has sent me the module (with source) and has been helping me get the environment setup and running.
Aug 31, 2005 02:50 AM|nokiko|LINK
is this code downloadable somewhere, interesting t take a look?
Aug 31, 2005 03:15 AM|broomy|LINK
You may want to take a look at the Telerik products RadcallBack and RadComboBox at
Aug 31, 2005 08:08 AM|Vladan Strigo|LINK
Aug 31, 2005 09:21 AM|Ed_DeGagne|LINK
You may want to take a look at the Telerik products RadcallBack and RadComboBox at
Aug 31, 2005 09:47 AM|rodneyjoyce|LINK
Sep 01, 2005 09:21 AM|isomies|LINK
Sep 01, 2005 04:55 PM|stpeteluis|LINK
Sep 06, 2005 10:00 AM|jhenning|LINK
Support for callbacks was something I was trying to get into the core back in March. It is just now been slated to be included in the next release of DNN. You can find more information on its implementation
Sep 06, 2005 11:06 AM|codegalaxy|LINK
Sep 06, 2005 04:33 PM|donker|LINK
I am trying to build with the Bitkraft library but not having much luck yet - hope to have it sorted out today or tomorrow
Sep 06, 2005 04:36 PM|codegalaxy|LINK
Sep 06, 2005 05:03 PM|jhenning|LINK
Sep 06, 2005 05:12 PM|codegalaxy|LINK
Sep 07, 2005 06:17 AM|rodneyjoyce|LINK
Sep 07, 2005 06:19 AM|rodneyjoyce|LINK
I am going to offer a $100 reward (paid via PayPal) :
The module simply needs to demonstrate how a method in the custom module can be called (and the contents of a text control passed back) and the result shown in the main page (to prove that it actually communicated both ways).
Sep 07, 2005 08:30 AM|Timlarson|LINK
Sep 07, 2005 09:36 AM|jhenning|LINK
Now that the DNN WebControls is a
separate webproject you should see some sort of working beta in the near future. These controls will be using the ClientAPI in the same way that the DNN Core will. Since you are developing a control these samples should give you a good starting point.
Sep 07, 2005 10:10 AM|kingdona|LINK
Sep 07, 2005 10:12 AM|nokiko|LINK
Sep 07, 2005 11:32 AM|rodneyjoyce|LINK
Sep 07, 2005 11:40 AM|codegalaxy|LINK
Sep 07, 2005 11:53 AM|nokiko|LINK
Sep 07, 2005 12:06 PM|kdukes|LINK
Sep 07, 2005 12:47 PM|Timlarson|LINK
I would like to view the code also. I am struggling getting this to work.
timlarson @ cox .net
Sep 07, 2005 01:56 PM|codegalaxy|LINK
Sep 07, 2005 02:38 PM|codegalaxy|LINK
Sep 07, 2005 04:30 PM|Ed_DeGagne|LINK
Sep 07, 2005 08:47 PM|locopon|LINK
Sep 08, 2005 08:59 AM|Ed_DeGagne|LINK
Sep 08, 2005 09:19 AM|nokiko|LINK
Sep 08, 2005 04:38 PM|donker|LINK
Sep 08, 2005 05:52 PM|oledave|LINK
Oct 25, 2005 11:18 AM|ryedin3|LINK
Oct 25, 2005 12:19 PM|jhenning|LINK
I guess you are calling me whacky now... My reasoning behind the design are clearly laid out in
this document. I'll include the relavant parts in case you don't want to review all 30 pages.
Before diving into the navigation abstraction it is important to have a handle on some of the design decisions behind the DotNetNuke WebControls.
Unlike most ASP.NET controls the DotNetNuke WebControls are designed to send the XML representing the nodes, rather than the HTML to and from the client.
This has the following advantages.
Performance - Server Load and Bandwidth
It is usually a safe assumption that the representation of the data is much smaller than the markup to display the data. Stated another way, the XML for the data will almost always be smaller than the HTML for the rendering
of the data. Thus sending down the XML yields smaller output in your HTML stream.
In many controls the maintaining of the Node's state is required. This is typically accomplished by placing the information in viewstate. Which when you break it down this is usually the same information in the data
(XML). So what ends up happening in the control is it not only sends down the HTML for the data representation, it also sends down the data and the unreadable format known as viewstate. Thus, the HTML output is now twice as large.
If your data is somewhat static, it is possible to persist the data to an xml file and reference it in a browser like IE and have the data get cached on the client (just like an image or js file). Thus, future visits
to the page will not require any data transmission at all.
Functionality - Being able to render your controls on the client when given nothing more than the XML data allows for many more possibilities to implement client-side
For example, the Solution Partner’s Menu Module released for DotNetNuke allows the menu to be completely customized (i.e. add/update/delete nodes, style changes, etc.) in a WYSIWYG mode. To leave the control's rendering
up to the server would require round-trips to the server whenever the user wished to see the results of changing properties.
Enabling an on-demand loading of child nodes becomes quite simple. Simply make a client callback to the server passing the current nodeID, have the server return the XML for the child nodes, append the XML into the
existing data, and re-render the control.
Typically controls that render on the client provide a much richer client object-model. This generally happens because the developer already spent much of the time getting things to render client-side. To add additional
properties, methods, and events is not as far of a stretch.
That said, I would not think that just anyone should be writing code on the client to create controls, instead it should generally be up to the control developer to handle that. In the customization cases, the control should expose some simple events that
the developer could hook into. This gets into the idea of having a rich object model available to the developer on the client.
Oct 25, 2005 01:11 PM|ryedin3|LINK
Oct 25, 2005 02:48 PM|ryedin3|LINK
Dec 21, 2005 10:15 AM|DeveloperMCDBA|LINK
So, Jon Henning has AJAX capabilities in the new release or two. Any of you in this thread using it? I haven't got it to work for me yet (the hello world sample module download) but I'm determined to get it.
As peter donker pointed out, there are many ways to implement AJAX, but if there is one main way to do it. it seems like the way to go.
Since I have licensing to Component Art's controls I tried and successfully got their callback control to work, but the call backs take around 6 seconds! yuck...where CA's samples are lightening fast. I was thinking since everything goes through default.aspx,
that dnn was processing things in the page it really didn't need to....http://www.componentart.com/forums/ShowPost.aspx?PostID=14396
anyhow....I'm wanting to get the dnn example to work since it was intended for dnn. I'd like to hear from other's experiences here.
Dec 21, 2005 10:29 AM|ryedin3|LINK
Check my posts in this thread:
Make any user control into an AJAX control and let the server handle the markup generation and data processing. Each control can be it's own autonomous entity on the client, and you can extend the model to expose public interfaces/events for interacting
with other controls on the page.
Since I posted the above, I have really expanded the model for my project so it is extremely robust. If I get some time I may elaborate on that expansion but the information in the above post is enough to get you going.
Jun 09, 2006 10:02 AM|tuanhawaii|LINK
Hello all. I would first like to apologize that I have not responded to this sooner. I had asked a couple of people to send me a link to this post and that did not occur ;-) I just found it searching today (apparently I am not very good at searching). I would
first like to go ahead and throw out a disclaimer about Mr. Shaw's payment of $100 to me. I at first refused the money and asked that he just do a sort of "pay it forward" and help someone else along the way which he has done and I appreciate it. I have been
helped and have tried to help numerous people in these forums and other forums I have particpated in, and have never expected payment or been asked for payment. Mr. Shah however insisted I take the money which has been donated to sponsor a local flag football
team for 5-6 year olds. Now with that out of the way...
I have a simple Hello World sample using Michael Schwarz's
Ajax.NET component. It is very basic, not fancy at all. If it will help anyone I will be more than happy to send it your way to include the source (currently VB.NET and I will very soon have the C# version for you folks who would prefer that). If it will
help someone get started that is great. I am not an expert on AJAX or anything but will be more than happy to participate in discussion concerning what I know and hopefully learn a little in the process as well.
Please let me know if you would like the bundle and I will send it your way.
AgileWise - Software at the speed of business.
Jun 09, 2006 01:37 PM|brian_c|LINK
I looked through the clientAPI docs and then went and renewed by telerik subscription :)
The hours I will save writing code is worth the renewal price.
I really think the clientAPI is a great addition but it goes too far into the programming side and hinders quick usage.
Jun 18, 2006 10:07 AM|databasedude|LINK
This may come as a surpriese to anyone who has looked into the various AJAX technologies that are available, but over the past 4 months I've developed an AJAX technology for ASP.NET 2.0 that instantly AJAX-enables an entire website. Gone is the need for
blocks such as <% ...%> as in the classic ASP days, in which case you will need to replace these with some sort of control like a literal control).
to update only the controls on the page that have changed in response to the callback. Even the viewstate is updated, although it is kept on the server in order to minimize the amount of data that is transmitted during callbacks and maximize the speed of
round-trips. Lets say you have 30 different controls on a web page, including several GridViews, dropdown lists, text boxes, buttons, etc. and you click a button that makes changes or updates to 5 of the controls. Only those five controls are updated on callback.
It works like magic.
Now let me tell you how I stumbled into the idea for this. As you know, it was Google that in the last couple of years popularized AJAX technologies through GMail and Google Maps. While building a asp.net server control wrapper for the Google Map API this
past winter and spring, I wanted my map control to interact with other controls on a web page using AJAX, but I wanted to do so automatically without using special AJAX wrappers etc. I wanted to update other controls on a web page through click events on
the map, and I wanted to make changes to the map (plot points, open info windows, draw lines, etc) by clicking other controls on the page and without doing a postback. During development of my Google Map server control I had become intimately familiar with
I then recognized the potential of this for all web pages, even those without my Google Map control. I then set out to extract the AJAX component from the map control and make it a separate technology that could AJAX enable any web page with any set of
controls. I accomplished this in a matter of several days, in essence. It then took me another six weeks or so to refine the technology to work with the pecuiarities of many different controls. What I ended up with is a very powerful technology that adds
AJAX capabilities to an entire web site without the need to change the way you program.
You say, "this sounds too good to be true!" I know it does but it is true. It works as "advertized" here...except for DotNetNuke sites. You knew there was a catch, right? The reason why my technology does not yet work for DNN sites is stated above.
DNN still uses code blocks such as <% ...%> which are to my AJAX technology like kryptonite to Superman.
This is because code blocks are not controls. My technology needs controls with client-side ID's in order to emit html and get changed during callbacks. If only the core team replaced all code blocks with controls such as literal controls or whatever,
then I could instantly AJAX enable every DNN 4.x website without a hundred different hashups that each module developer is making to AJAX enable their modules.
That's my two cents.