http://www.ld100.com/myoa/x/menu.asp //演示地址.
-------------------------------------------------
这是一个ASP的页面.
下面有一个菜单(QQ类型),要求用.net实现.
我ASP能实现,但是.net就不知怎么改.希望大家指教.
-------------------------------------------------
我写了一段:在类(link.cs中)
空间名:linkcs
public SqlDataReader BH(string strSQL,string datename)//execute(sql)
{
SqlConnection myCn = new SqlConnection(myconn);
SqlCommand myCmd = new SqlCommand(strSQL,myCn);
try
{
myCn.Open();
SqlDataReader Dr=myCmd.ExecuteReader(); return Dr;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally {
myCn.Close();
myCmd.Dispose();
}
}我应该怎么样做.
请大家能帮我写写啦.

解决方案 »

  1.   

    这个菜单的关键是js部分,与.net无关.如果菜单项是存在数据库里的,只是读取和使用数据方面有一点差别而已.
      

  2.   

    function showmenu(id)
        {
         if (document.all("menu_"+id).style.display=="block")
         {
         document.all("menu_"+id).style.display="none";
         }
         else
         {
         document.all("menu_"+id).style.display="block";
         }
        }
      

  3.   

    TO: lidong6(立冬) 
    ==================
    我的意思是说,用.net读出数据然后将它放在赋值放在js中显示.
    或者说,asp.net怎么样做或用什么控件之类可以实现这样的功能,将数据这样显示.
    我找不到控制所以就用js做了一个,但是这样做法.怎么结合.net呢?
      

  4.   

    我用asp实例的例子:
    ===================
    <%
    set rs=server.CreateObject("adodb.recordset")
    rs.open"select * from T0 ",conn,1,1
    %>
    <SCRIPT LANGUAGE=javascript>
    onload=function()
    {
     var lstr = ""
     var lofolder = new outlookfolder(null,335,177,15);//高度,宽度,弹开速度
     <%
     do while not rs.eof
     id=trim(rs("id"))
        
     set rs2=server.CreateObject("adodb.recordset")
     rs2.open"select * from T1 where parentid="&id&"",conn,1,1
         do while not rs2.eof 
         %>
     //for (var i=0; i<<%'=rs2.recordcount%>; i++) 
     lstr+= "<table><tr><td><a href='#'><%=rs2("Cn_name")%></a></td></tr></table>";
     <%
     rs2.movenext
     loop
     rs2.close
     set rs2=nothing
     
     %>
     lofolder.addfolder("<table><tr><td><%=rs("Cn_name")%></td></tr></table>",lstr);
      var lstr = ""
     <%
       rs.movenext
       loop
       rs.close
       set rs=nothing
      %> 
      
     lofolder.showfolderX(0);
    }
    </script>我现在就是想用.net去改.怎么改法?
      

  5.   

    vs2005 menu控件可以轻松实现
      

  6.   

    .net下,也同样支持<%=rs("Cn_name")%这样的写法,你可以去查一查MSDN...
      

  7.   

    在.NET下,也可以这样
    <script language=javascript>
    var a;
    a=<%= Table.rows[0][0].tostring()%>
    </script>或在代码中这样输出:
    Response.write("<script>var a; a=" + table.rows[0][0].tostring() + ";</script>");
      

  8.   

    问题现在是怎么样循环.
    onload=function()
    {
     var lstr = ""
     var lofolder = new outlookfolder(null,335,177,15);//高度,宽度,弹开速度  //这儿要循环1
     lstr+= "<table><tr><td><a href='#'><%=Request("name")%></a></td></tr></table>";  //上面读出ID再where id2=id1  
     //这儿要循环2
     lofolder.addfolder("<table><tr><td><%=Request("name")%></td></tr></table>",lstr);
      var lstr = ""  
     lofolder.showfolderX(0);
    }
      

  9.   

    和这个差不多
    http://www.cngarden.com/ProdList.aspx
      

  10.   

    在类中全部用生成HTML代码,在用innerHTML属性赋给 控件 应该可以!
      

  11.   

    问题现在是怎么样循环.
    onload=function()
    {
     var lstr = ""
     var lofolder = new outlookfolder(null,335,177,15);//高度,宽度,弹开速度  //这儿要循环1
     lstr+= "<table><tr><td><a href='#'><%=Request("name")%></a></td></tr></table>";  //上面读出ID再where id2=id1  
     //这儿要循环2
     lofolder.addfolder("<table><tr><td><%=Request("name")%></td></tr></table>",lstr);
      var lstr = ""  
     lofolder.showfolderX(0);
    }