如何在asp.net中动态创建树视图?

时间:2009-11-29 04:23:09

标签: asp.net treeview

我有两个名为Categories和SubCategories的数据库表,我想在我的asp.net Web表单中创建一个无序列表,就像树视图一样

UL li a href =“”CategoryDynamicData / li UL li SubCategoryDynamicData li .. .. ..

任何算法?我无法嵌套2个中继器?

3 个答案:

答案 0 :(得分:2)

出于好奇, asp:TreeView 为什么不能为你工作?

您可以使用jQuery插件,例如Treeview plugin。它完全按照您的描述工作,使用ulli来表示树枝和树叶。

答案 1 :(得分:0)

好吧这似乎不是最好的方法,但在这里我是如何解决这个问题的...... 希望它能帮助别人:)

    protected void Page_Load(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        using (ProjectsDataContext dc = new ProjectsDataContext())
        {
            var categories = from cats in dc.Categories
                             select cats;

            sb.Append("<ul id=\"sitemap\" class=\"sitemap\">");

            foreach (Category c in categories)
            {
                sb.Append("<li><a href=\"ShowCategory.aspx?CategoryID="+c.CategoryID +"\">"+ c.Name+"</a>");

                var subcategories = from subs in dc.SubCategories
                                    where (subs.Category.Name == c.Name)
                                    select subs;

                sb.Append("<ul>");

                foreach (SubCategory s in subcategories)
                {
                    sb.Append("<li><a href=\"../ShowSubCategory.aspx?SubCategoryID=" + s.SubCategoryID + "\">" + s.Name + "</a></li>");
                }
                sb.Append("</ul></li>");

            }

            sb.Append("</ul>");
        }


        lala.Text = sb.ToString();
    }

答案 2 :(得分:0)

您可以使用TreeView显示分层数据。 请参阅以下示例以在树视图中绑定数据:
http://urenjoy.blogspot.com/2009/08/display-hierarchical-data-with-treeview.html