Как динамически создать представление дерева в asp.net? - PullRequest
0 голосов
/ 29 ноября 2009

У меня есть 2 таблицы базы данных с именами категорий и подкатегорий, и я хочу создать неупорядоченный список внутри моей веб-формы asp.net, как в виде дерева, например

уль li a href = "" CategoryDynamicData / li уль li SubCategoryDynamicData li .. .. ..

Какие-нибудь алгоритмы для этого? Я не мог вложить 2 повторителя?

Ответы [ 3 ]

2 голосов
/ 29 ноября 2009

Из любопытства, почему asp: TreeView не работает для вас?

Вы можете использовать плагин jQuery, например плагин Treeview . Он работает точно так, как вы описали, используя ul и li для представления ветвей и листьев дерева.

0 голосов
/ 04 декабря 2009

вы можете отобразить иерархические данные с TreeView. См. Следующий пример для привязки данных в виде дерева:
http://urenjoy.blogspot.com/2009/08/display-hierarchical-data-with-treeview.html

0 голосов
/ 29 ноября 2009

ОК. Кажется, это не лучший способ, но вот как я это решил ... Надеюсь, это поможет другим:)

    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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...