现在的位置: 首页 > 综合 > 正文

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

2012年02月21日 ⁄ 综合 ⁄ 共 1067字 ⁄ 字号 评论关闭

image

 

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

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

image

 

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

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

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

image

 

 

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

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

 

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

image

 

 

 

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

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

 

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

 

2.添加两个引用:

image

 

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

xxx.ashx呢。

3.创建一个web方法:

image

 

 

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

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

image

 

运行试试能否拿到数据:

image

 

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

 

 

 

 

 

 

 

 

 

 

image

显示结果:

image

 

对你有帮助的捧个场哈。 没用的话,就当一乐。。。对了,那个同事还在调试呢。。。O(∩_∩)O~

抱歉!评论已关闭.