Hi Rich,
I've just started playing with jsTree for a prototype application, and
I've gone with json for async tree loading. My server-side code is in
php, but the concept is basic: pass an id (in my case, a directory
path relative to a document root, eg '/about' or '/docs') to a url
that's only requested via jsTree and return the children of that path
via json.
This process allows me to display the top level folders ('/'), then
when you click to expand a folder, another request is made (eg '/
about') and that folder's contents are displayed in the tree.
I learnt how to wire up the async code with jsTree via the examples:
http://www.jstree.com/jsTree/examples/_data/async.html
So you'll need to get a package in C# for json encoding - I guess
google will point the way. With PHP it was trivial - build up an
associative array, then call a json_encode function and I was done! :)
The quick 'n dirty option is to just hand crank the json like the
above example does.
My next step will be to start wiring up actions from the jsTree to the
server, eg renames, deletes, moves. For that, you have to wire up some
ajaxy style javascript to your server using jsTree's callback system,
which is explained nicely in the docs:
http://www.jstree.com/documentation
For the "ajax" style functions, I just use jQuery's inbuilt post
functionality:
http://docs.jquery.com/Ajax/jQuery.post
These js functions that I write (such as "doRename" for example) will
post to my server and pass some parameters - the server will
physically perform the action (after checking that user is allowed to)
and return a status code to the client, which I will inspect and
update the UI or display a message to the user, etc.
Hope all that information helps in some way!
// SM