我用ajaxpro来实现局部更新的效果。
我有一个页面用到了treeview控件,第一次加载的时候正常。当我添加了节点之后,
利用ajaxpro在客户端调用了服务端的重新加载树的方法,结果跟踪发现treeview为null,很是不解。
再次求助,上分100,谢谢

解决方案 »

  1.   

    JS部分:
    //添加节点操作
    function AddContent() 
    {
       window.showModalDialog("WorkCorpEdit.aspx",'',"dialogwidth:450px; dialogheight:230px");
       GetWorkCorp();
    }function GetWorkCorp()
    {
       WorkCorpView.loadTree();//利用ajaxpro的功能对服务端方法进行调用
    }//后台代码
    [AjaxPro.AjaxMethod]
    public void loadTree()

       CorpID = Session["CorpID"].ToString();
       AddChildItems(this.TreeView1.Nodes, Session["CorpID"].ToString());//递归加载树
    }跟踪发现,到这一部的时候就出现了treeview为NULL的情况,求解
      

  2.   

    在AjaxMethod 方法中 是访问不了page 对象的,所以在page对象中的 treeview 自然也访问不了。
      

  3.   

    两个解决办法,一是 返回 数据源,客户端根据返回的数据源生成相应的树
    二是 返回树的html 代码 ,客户端将返回的html代码 显示在相应的位置
      

  4.   

    不要用 treeview控件,自己用ul和li来实现一样的效果,AjaxPro时纯客户端的编程
      

  5.   

    搞定了,自己慢慢写了棵树,这次还深刻理解了ajaxpro的用法,最好将多数的操作放到客户端来处理,那样才不会出错,谢谢楼上几位。