您的位置:首页 > Web前端 > JQuery

asp.net中使用jquery的ajax来post数据的树控件

2012-01-28 10:09 661 查看
我相信大部门的.net开发人员还在完全使用asp.net框架开发或者有一部分人是asp.net和asp.net mvc项目都有在做。对于传统的asp.net如果要有好的体验,那么ajax效果当然不可少。。。

我刚才问了一个同事,我说现在我要在asp.net中前台页面要后台传过来json格式的数据,你觉得我用哪种方式好,回答很肯定是Ihttphandler





我完全同意。。。那json对象的转化工具你选择什么呢? Newtonjson。。。好主意。。而且我也很喜欢这个序列化反序列化库。

http://json.codeplex.com/ 这个东西可能你也用过好多次了。。。

甚至借助nuget,你都不需要去麻烦的下载这个类库。。。





大部分问题都解决了,该选择一个jquery tree控件了。我首先想到的是jstree.相信你用过它的话,肯定会喜欢上它的.很不幸的是它不兼容IE9……………………………

可能有些人用过这个树控件,http://code.google.com/p/jquerytree/ 名字是ZTree,国人写的,虽然写的差点,但是兼容性方面还是不错的。。。值得表扬。。。


因为涉及到异步传输数据,我试着找到它的ajax方法调用,发现其实这块写的不大合理,作者主要是针对php和jsp写的,所以接收数据的方式对于我们asp.neter来说不大适用。。。修要修改它的ajax方式如下:





这样试着做出来一个例子,还算挺快的。。。不过试着想想,我是不是应该有更好更简单的方式?

我当时其实已经有另一种实现方式了。 我给那个同事说,我有一方式,咱俩试试看谁先实现功能。O(∩_∩)O~

1.创建一个asp.net 3.5的解决方案。添加default.aspx,jquery.ztree-2.6.js以及样式文件。

2.添加两个引用:





没错,我会适用webmethod往前台post数据,适用.net自己的类来把数据集序列化成json对象。这时候他还在下载newton.json添加

xxx.ashx呢。

3.创建一个web方法:





4.适用jquery的ajax来拿数据。。。

因为ZTree已经封装好了ajax方法,我们只需要把url传给它就OK了。





运行试试能否拿到数据:





如果某个节点是父节点,那么ajax请求时,会往服务器端传过去当前的id和name等,后台会查询到对应的子集,然后再以json格式返回来。。





显示结果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: