现在有了一级分类的id
现在要绑定一级分类id为1的所有的二级分类
现在不知道绑定怎么写了,绑定出来的二级分类要是   超链接的格式那位会写代码啊,给我点思路也行啊

解决方案 »

  1.   


    后台代码
    ds = mc.SelectData("select * from FirstClass", "first");
            try
            {
                DataTable dt = des.Tables["first"];
                dl.DataSource = dt;
                dl.DataBind();
                ds = mc.SelectData("select id as sid,secondname,fid from SecondClass", "second");
                DataView sdv = ds.Tables["second"].DefaultView;            for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];
                    sdv.RowFilter = "fid = " + dr["id"].ToString();
                    DataList dal = (DataList)dl.Items[i].FindControl(name);
                    dal.DataSource = sdv;
                    dal.DataBind();
                }
            }
            catch (Exception ex)
            {            Response.Write("<script>alert('"+ex.Message+"')</script>");
            }
    前台代码
    <asp:DataList ID="dlf" runat="server" Width="222px">
                                    <ItemTemplate>
                                    <table width="100%">
                                        <tr>
                                            <td onclick="show(<%#Eval("id") %>)" id="td<%#Eval("id") %>" class="STYLE37" style="font-size:12;cursor:pointer;height:28px; background-image: url(images/t1.jpg);">
                                                 <%#Eval("firstname") %>
                                            </td>
                                        </tr>
                                        <tr style="display:none;cursor:pointer;font-size:12pt; background-color: aliceblue;" id="left<%#Eval("id") %>" class="STYLE38" >
                                            <td>
                                                    <asp:DataList ID="dls" runat="server">
                                                    <ItemTemplate>
                                                    <div onmouseover="this.className='l1'" onmouseout="this.className='l2'">
                                                       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a  style="font-size:10pt" href="product.aspx?id=<%#Eval("sid") %>"> <%#Eval("secondname") %></a></div>
                                                    </ItemTemplate>
                                                    </asp:DataList>
                                                </td>
                                        </tr>
                                    </table>
                                
                            </ItemTemplate>
                                    <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Font-Size="12pt" />
                        </asp:DataList>
      

  2.   

    忘了JS了
    var o = "";
            function show(id)
            {
                var obj = document.getElementById("left"+id);
                var m = document.getElementById("td"+id);
                if(obj.style.display == "none" || obj.style.display == "")
                {
                    obj.style.display = "block";
                    if(o != "")
                    {
                        document.getElementById("left"+o).style.display = "none";
                        document.getElementById("td"+o).style.background = "url(images/t1.jpg)";
                        m.style.background = "url(images/t2.jpg)";
                        o = id;
                    }
                    else
                    {
                        m.style.background = "url(images/t2.jpg)";
                        o = id;
                    }
                }
                else
                {
                    m.style.background = "url(images/t1.jpg)";
                    obj.style.display = "none";
                    o = "";
                }
            }
      

  3.   

    参考: 
    表结构 
    id  supid(父级)  titlename 
    ---------------------------- 
    1    0          A 
    2    1          B 
    3    1          C 
    的这种格式 using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;/// <summary>
    /// DropDownList 的摘要说明
    /// </summary>
    public class DropDownListTree
    {    ///   <summary>   
        ///   树形DropDownList绑定   
        ///   </summary>   
        ///   <param   name="sql">sql语句</param>   
        ///   <param   name="dropParent">绑定数据的控件ID</param>   
        ///   <param   name="strID">表的 标示列的字段名</param>   
        ///   <param   name="strName">要显示文本的字段名</param>   
        ///   <param   name="strPid">父例字段名称</param>   
        public void BindDropList(string sql, DropDownList dropParent, string strID, string strName, string strPid)
        {
            DataTable dt = Diancheng.DAL.Data.FillDataTable(CommandType.Text, sql, null);
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    if (row[strPid].ToString().Trim() == "0")//绑定根节点   
                    {
                        dropParent.Items.Add(new ListItem(row[strName].ToString(), row[strID].ToString()));
                        bindDropChildItem(dropParent, dt, row[strID].ToString(), 1, strID, strName, strPid);
                    }
                }
            }
        }    private void bindDropChildItem(DropDownList d, DataTable dt, string id, int length, string strID, string strName, string strPid)
        {
            DataRow[] rows = dt.Select(strPid + "=" + id);//取出id子节点   
            for (int i = 0; i < rows.Length; i++)
            {
                d.Items.Add(new ListItem(this.SpaceLength(length) + rows[i][strName].ToString(), rows[i][strID].ToString()));
                //无限级加   
                this.bindDropChildItem(d, dt, rows[i][strID].ToString(), length - 1, strID, strName, strPid);//空白数目加1   
            }
        }    private string SpaceLength(int i)
        {
            string space = "";
            for (int j = 0; j < i; j++)
            {
                space = " └─";//用做显示   
            }
            return space;
        }
    }