首页

源码搜藏网

首页 > 开发教程 > ajax教程 >

ajax与vs2003(Treeview)

创建时间:2013-04-25 00:15  



  本文示例源代码或素材下载
  最近公司站点 出现了访问速度变慢,经过查看是在构造树的流程 CPU耗用严重,疑问 原由 是构造树的流程 采用了递归要领 一次性构造的树的所有节点,其实后台获取数据的速度倒是很快,比较慢的地点 就是Treeview构造每个节点的流程 。由于原来的程序采用的是vs2003,Treeview还不支持异步加载,ajax控件也没有合适的版本,一般是对2.0的,所以无奈之下只好,找了一个ajax的动态链接库dll文件,实现了逐级加载节点。现在把整个流程 总结一下,希望对维护vs2003程序的朋友们有所帮助。
  第一步:引入ajax的dll文件(放在文章后面的附件里)
  第二步:修改web.config配置文件
  <system.web>
 <!-- by dingsea -->
 <httpHandlers>

      <!--添加 的内容-->
       <add verb="POST,GET" path="ajax/*.ashx" type="BorgWorX.Web.Core.Ajax.PageHandlerFactory, BorgWorX.Web.Core.Ajax" />


    </httpHandlers>
  第三步:在page_load中注册ajax
         private void Page_Load(object sender, EventArgs e)
        {
            //注册ajax页面或用户控件
            BorgWorX.Web.Core.Ajax.Utility.RegisterTypeForAjax(typeof(DownPara));
                  
            // 在此处放置用户代码以原始化页面
            if(!IsPostBack)
            {              
                    TreeViewDataBind();
               }                    
        }
  第四部:编写后台要领
  //编写Ajax要领 ,中括号的内容是必须的
  [BorgWorX.Web.Core.Ajax.AjaxMethod()]
  public System.Data.DataSet getNodeList(string parentNode){

   System.Data.DataTable tab = new System.Data.DataTable();

   tab.Columns.Add("NodeData");
   tab.Columns.Add("Text");
   tab.Columns.Add("ImgUrl");
   tab.Columns.Add("IsLeaf");
   tab.Columns.Add("NavigateUrl");
  
   System.Data.DataSet ds= new System.Data.DataSet();
  
   IList nodeList = ServiceSysHelper.GetParaSortOrParaInfo(parentNode,"02");//获取节点
   if(nodeList==null nodeList.Count==0)
    return null;
     foreach(SoftWarePara para in nodeList)
   {
   
    System.Data.DataRow row = tab.NewRow();
    row["NodeData"] = para.SoftwareParaId;
    row["Text"] =para.SoftwareParaName;
    tab.Rows.Add(row);
    }
   ds.Tables.Add(tab);
   return ds;
  }

上一篇:ASP.NET Ajax调用WCF服务示例
下一篇:Asp.net源码搜索

相关内容

热门推荐