是关于TreeView与DataGrid的问题!
TreeView与DataGrid在同一页面,我现在想实现点击TreeView的一个节点,实现DataGrid的数据更新,是个级联的问题!问题就在这,前提不刷新页面,就要用到ajax技术,对于ajax技术我不太了解,哪位大大能帮我一下,一解决我散分!

解决方案 »

  1.   

    我已找到一种解决方法,就是把TreeView和DataGrid控件加入到MagicAjax.NET里面,这是个全新的开放源代码Ajax框架,比我用过的Ajax.NET要方便很多很多,十分方便,不过好像我下的是支持.net2.0,晕,我在1.1下也编译通过,不过怕以后有bug,不敢用.各位高手,能不能帮我想一个解决方法!不用MagicAjax.NET也行的方法!
      

  2.   

    用不着Ajax吧,最简单的,在页面中使用一个隐藏的iframe就能不刷新主页面实现用户操作了。具体方法就是,在iframe里面刷新,然后把刷新后的页面提交给前台页面就可以了。我记得不知道在那里看见过,说.net的ViewState可以用隐藏的iframe来实现连续用户操作,但是,一直没找到在哪里。其实就是改善了用户体验,其他啥也没改,速度也还是老样子。其实IE做得好一点,后台刷的时候不卡住前台的页面用户体验就改善了。
      

  3.   

    他的意思就是用iframe来代替你用的ajax,要你不用ajax技术,直接用iframe来打开那个datagrid所在页面,资源消耗一样,但技术成熟有简单
      

  4.   

    直接用ajax.net的话,就不要用DataGrid啦。直接用<Table></Table>
    点击节点的时候,就调用异步的请求刷新该Table, 页面也不是不刷新,而是局部刷新。
    比如:
    node.onclick = function(){  
       MyClass.GetData(RefreshTable_CallBack, arg); //arg 表示更新请求的参数,
                                                    //MyClass 是Codebehind的类名
                                                    //GetData 是Codebehind中定义的方法,
                                                    //返回一个DataSet 
      //RefreshTable_CallBack 用于将取得的DataSet,组装到<Table>中.
    }function RefreshTable_CallBack(res)
    {
       if(res.error != null) {
           alert(res.error);
       }
       else {
           var myTable = document.getElementById("myTable");
           if(myTable == null) return;
           var dt = res.value.Tables[0];        
           for(var i=0; i<dt.Rows.length; i++)
           {
              //使用 dt.Rows[i].字段名 遍历取到的DataTable
           }
    }
      

  5.   

    MyClass.GetData是什么意思?用DataGrid的话,方便,但是用table的话,我觉得对以后的扩展没有帮助!想在上面修改数据就没办法了!
      

  6.   

    参考:http://community.csdn.net/Expert/topic/4442/4442968.xml?temp=.1462366
      

  7.   

    后台就显不要用 ajax了吧。问题会很多的。
      

  8.   

    csdn原来有一人写过GridTree,就是这种功能,他们好像还找人一起开发呢?
    如果你有兴趣的话你到百度上搜索一下GridTree就可以得到源码了。
      

  9.   

    用ajax返回一个dataset然后用<table>在前台做也行啊。。谁说扩展性不好呢 ?