CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

MSDN CSDN 导航树效果用ASP.Net(C#) + JavaScript 怎么实现??

楼主ouyangibing(.net++)2005-01-20 14:24:29 在 .NET技术 / ASP.NET 提问

MSDN   CSDN   导航树效果用ASP.Net(C#)   +   JavaScript   怎么实现?? 问题点数:100、回复次数:3Top

1 楼JafyLiu(自由的代价)回复于 2005-01-20 14:33:42 得分 0

用MS   的那个树控件。Top

2 楼hedonister(冰戈)回复于 2005-01-20 14:39:03 得分 0

实际还是传统   CGI、ASP   的思想,没有使用Codebehind="WebFORM1.aspx.cs",仍然采取了   B/S   混合(HTML/C#)脚本的方式:  
   
  <%@   Page   language="c#"   Codebehind="WebFORM1.aspx.cs"   AutoEventWireup="false"   Inherits="WebApplication5.WebFORM1"   %>    
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >    
  <HTML>    
  <HEAD>    
  <title>WebFORM1</title>    
  <meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   7.0">    
  <meta   name="CODE_LANGUAGE"   Content="C#">    
  <meta   name="vs_defaultClientScript"   content="javascript">    
  <meta   name="vs_targetSchema"   content="http://schemas.microsoft.com/intellisense/ie5">    
  </HEAD>    
  <body   MS_POSITIONING="GridLayout">    
  <FORM   id="FORM1"   method="post"   runat="server">    
  </FORM>    
  <FONT   face="宋体"></FONT><iframe   width="100%"   height="100"   id="hiddenframe"></iframe>    
  <script>    
  function   ExpandNode(ParentNode,ParentId){    
  var   NodeX   =   eval(ParentNode.id   +   '_0');    
  if   (NodeX.style.display   ==   'none')    
      {    
        NodeX.style.display="block";    
        if   (NodeX.loaded   ==   'no')    
              {    
                document.frames['hiddenframe'].location.replace("http://localhost/webservice/WebApplication5/WebFORM2.aspx?PID="   +   ParentId   +   "&PNode="   +   ParentNode.id);    
                NodeX.loaded   =   'yes';    
            }    
      }    
  else    
      {    
        NodeX.style.display='none';    
      }    
  }    
  </script>    
  <CENTER>    
  <TABLE   border="1"   width="20%"   height="60%">    
  <TR>    
  <TD>    
  <DIV   style="OVERFLOW:   auto;WIDTH:   100%;HEIGHT:   100%">    
  <TABLE   width="300%">    
   
  <TR>    
  <TD>    
  <%    
  System.Data.OleDb.OleDbConnection   oleDbConnection1   =   new   System.Data.OleDb.OleDbConnection();    
  oleDbConnection1.ConnectionString   =@"Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=Test;Data   Source=TRIATON\PSQL2KE";    
  oleDbConnection1.ConnectionString   =@"Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   Server.MapPath("/dvbbs")   +   @"\Tree.mdb;Persist   Security   Info=False";    
  oleDbConnection1.Open();    
  System.Data.OleDb.OleDbCommand   OleDbCommand1   =   new   System.Data.OleDb.OleDbCommand("select   *,(select   count(*)   from   tree   where   parentid   =   T.id)   as   children   from   tree   T   where   rootid   =   id",oleDbConnection1)   ;    
  System.Data.OleDb.OleDbDataReader   OleDbDataReader1   =   OleDbCommand1.ExecuteReader();    
  int   i   =   0;    
  while   (OleDbDataReader1.Read())    
  {    
    %><div   id='Node_<%   =   i   %>'><a   href='#'    
       
    <%if   (System.Convert.ToInt64(OleDbDataReader1["children"])>0)   {%>    
              onClick='ExpandNode(Node_<%   =   i   %>,<%   =OleDbDataReader1["id"]   %>)'>+</a>    
                            <%;}    
                            else   {%>    
                                    >-</a><%   ;}%>    
                                  <a   href='#'    
                          <%if   (System.Convert.ToInt64(OleDbDataReader1["children"])>0)    
                                    {%>    
                                            onDblClick='ExpandNode(Node_<%   =   i   %>,<%   =OleDbDataReader1["children"]%>)'    
                                    <%}     %>        
                                    >    
                                    <%   =OleDbDataReader1["children"]%></a>    
  </div>    
  <div   id='Node_<%   =   i   %>_0'   style='display:   none'   loaded='no'>    
                正在加载   ...    
          </div>                                    
                      <%    
  i++;    
  }    
   
  %>    
   
   
   
   
   
   
  </TD>    
  </TD>    
  </TR>    
  </TABLE>    
  </DIV></TD></TR></TABLE>    
  </CENTER>    
  </body>    
  </HTML>    
   
  Top

3 楼hedonister(冰戈)回复于 2005-01-20 14:41:20 得分 100

<%@   Page   language="c#"   Codebehind="WebFORM2.aspx.cs"   AutoEventWireup="false"   Inherits="WebApplication5.WebFORM2"   %>    
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >    
  <HTML>    
  <HEAD>    
  <title>WebFORM2</title>    
  <meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   7.0">    
  <meta   name="CODE_LANGUAGE"   Content="C#">    
  <meta   name="vs_defaultClientScript"   content="javascript">    
  <meta   name="vs_targetSchema"   content="http://schemas.microsoft.com/intellisense/ie5">    
  </HEAD>    
  <body   MS_POSITIONING="GridLayout">    
  <FORM   id="WebFORM2"   method="post"   runat="server">    
  <FONT   face="宋体"></FONT>    
  </FORM>    
  <%    
  string   ParentNode;    
  ParentNode   =   Request.QueryString["pnode"];    
  //Response.Write(ParentNode.Replace("_",""));    
  int   i;    
  int   j;    
  string   nSpace="";    
  j=   ParentNode.Length   -   ParentNode.Replace("_","").Length;    
  for   (i=0;i<j;i++)    
          nSpace   =   nSpace   +   "         ";    
  string   sHTML   ="";    
  i=0;    
                System.Data.OleDb.OleDbConnection   oleDbConnection1   =   new   System.Data.OleDb.OleDbConnection();    
  oleDbConnection1.ConnectionString   =@"Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=Test;Data   Source=TRIATON\PSQL2KE";    
  oleDbConnection1.ConnectionString   =@"Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   Server.MapPath("/dvbbs")   +   @"\Tree.mdb;Persist   Security   Info=False";    
  oleDbConnection1.Open();    
  System.Data.OleDb.OleDbCommand   OleDbCommand1   =   new   System.Data.OleDb.OleDbCommand("select   *,(select   count(*)   from   tree   where   parentid   =T.id   )   as   Children   from   tree   T   where   parentid   =   "   +   Request.QueryString["PID"],oleDbConnection1)   ;    
  System.Data.OleDb.OleDbDataReader   OleDbDataReader1   =   OleDbCommand1.ExecuteReader();    
  while   (OleDbDataReader1.Read())    
  {    
          sHTML   =   sHTML   +   "<div   id='"   +   ParentNode   +   "_"   +   (i   +   1).ToString()   +   "'>"   +   nSpace   +   "<a   href='#'";    
          if   (System.Convert.ToInt64(OleDbDataReader1["children"])>0)    
                                sHTML   =   sHTML   +   "   onClick='ExpandNode("   +   ParentNode   +   "_"   +   (i   +   1).ToString()   +   ","   +   OleDbDataReader1["id"]   +   ")'>+";    
                          else    
                                sHTML   =   sHTML   +   ">-";    
                          sHTML   =   sHTML   +   "</a>\\n"   +   "<a   href='#'";    
                        if   (System.Convert.ToInt64(OleDbDataReader1["children"])>0)    
                              sHTML   =   sHTML   +   "   onDblClick='ExpandNode("   +   ParentNode   +   "_"   +   (i   +   1).ToString()   +   ","   +   OleDbDataReader1["id"]   +   ")'";    
                        sHTML   =   sHTML   +   ">"   +   OleDbDataReader1["id"]   +   ":   "   +   OleDbDataReader1["remark"]   +   "</a></div>";    
                        if   (System.Convert.ToInt64(OleDbDataReader1["children"])>0)    
                              sHTML   =   sHTML   +   "<div   id='"   +   ParentNode   +   "_"   +   (i   +   1).ToString()   +   "_0'   style='display:   none'   loaded='no'>"   +   nSpace   +   "     正在加载   ...</div>";    
                          i++;    
  }    
  Response.Write(sHTML);    
  %>    
  <script>    
          var   x   =   eval('parent.'   +   '<%   =Request.QueryString["pnode"]   +   "_0"%>'   )   ;    
          x.innerHTML="<%   =sHTML   %>";    
  </script>    
  </body>    
  </HTML>    
  Top

相关问题

  • asp、vbscript、javascript和asp.net、vb.net、c#的区别???
  • 提供入门教程:我刚从asp和javascript转到asp.net和c#
  • asp与javascript
  • ASP与JavaScript
  • 懂 C++和asp的请进
  • asp调用c# windows COM ?
  • asp 翻译成 c# ,急
  • 求救 将javascript转成c#
  • C#和javascript不兼容?
  • c++调用javascript的问题

关键词

  • asp.net
  • c#

得分解答快速导航

  • 帖主:ouyangibing
  • hedonister

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo