• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

在asp.net递归绑定无序列表

用户头像
it1352
帮助1

问题说明

您好专家,我的数据如下:



id         menuname                      url                      
  parentid

1        家居NBSP;                       〜/ Home.aspx                  
  NULL    

2        产品与NBSP;                       〜/ products.aspx                 NULL


3        服务及NBSP;                   〜/ services.aspx                 NULL    

4         ERP                            〜/ erp.aspx                  
  2

5         HRM                            〜/ hrm.aspx                  
  4

7        薪资                        〜/ payroll.aspx                 4

8        程序设计及NBSP;                   〜/ programming.aspx             3

9        广告及NBSP;                   〜/ advert.aspx                 3

10        电视广告            〜/ tvadvert.aspx                 9

11        广播广告                〜/ radioadvert.aspx             9

........

........

$


所以我想根据上面的数据表生成一个无序列表的菜单项,这样那些空的parentid项应该是第一级菜单

,其他菜单项将是基于他们的parentid的子菜单如下:

Hello experts, I have a datatble as below:

id         menuname                      url                         parentid
1        Home                        ~/Home.aspx                    NULL    
2        Product                        ~/products.aspx                NULL
3        Services                    ~/services.aspx                NULL    
4        ERP                            ~/erp.aspx                    2
5        HRM                            ~/hrm.aspx                    4
7        Payroll                        ~/payroll.aspx                4
8        Programming                    ~/programming.aspx            3
9        Advertising                    ~/advert.aspx                3
10        Television Advert            ~/tvadvert.aspx                9
11        Radio Advert                ~/radioadvert.aspx            9
........
........


So i want to generate menu item into an unordered list based on the datatable above such that the items with null parentid should be the first level menu
and others will be submenus based on their parentid like so:

< ul class =" menu">

    < li>< a href =" home.aspx"> Home< / a>< / li>

    < li>< a href =" produc.aspx"> Product< / a>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < ul>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < li>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < a href =" erp.aspx"> ERP< / a>    

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < ul>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < li>< a href =" hrm.aspx"> HRM< / a>< / li>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < li>< a href =" payroll.aspx"> Payroll< / a>< / li>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < / ul>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < / li>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < / ul>

    < / li>

    < li>< a href =" services.aspx">服务< / a>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < ul>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < li>< a href =" programming.aspx">广告< / a>< / li>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < li>< a href =" advert.aspx">编程< / a>< / li>

   &NBSP;&NBSP;&NBSP; &NBSP;&NBSP;&NBSP;  < / ul>

    < / li>



     .....等

< / ul>



以下是我看似不完整的代码:



<ul class="menu">
    <li><a href="home.aspx">Home</a></li>
    <li><a href="produc.aspx">Product</a>
            <ul>
                <li>
                <a href="erp.aspx">ERP</a>    
                    <ul>
                        <li><a href="hrm.aspx">HRM</a></li>
                        <li><a href="payroll.aspx">Payroll</a></li>
                    </ul>
                </li>
            </ul>
    </li>
    <li><a href="services.aspx">Services</a>
            <ul>
                <li><a href="programming.aspx">Advertising</a></li>
                <li><a href="advert.aspx">Programming</a></li>
            </ul>
    </li>

    .....etc
</ul>

below is my code that seem incomplete:

    public static String AddToList()
    {


        DataTable table = new DataTable();
        table = GetMenus();

        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        foreach (DataRow row in table.Rows())
        {
            string parentId = row["parentmenuId"].ToString();
            //string url = Server.MapPath(m.Url);
            if (string.IsNullOrEmpty(parentId))
            {
                sb.Append(String.Format("<ul class=\"menu\"><li><a href=\"{0}\">{1}</a></li></ul>", row["Url"].ToString(), row["Description"].ToString()));
            }

        }

        return sb.ToString();

    }



   这将获得所有顶级菜单,但所有其他努力获得子菜单不起作用。请帮我解决。



    提前致谢

    This gets all top menu but all other effort to get submenu doesnt work. Pls help me out.

    Thanks in advance

正确答案

#1

有关ASP.NET的问题,请使用
ASP.NET论坛
 请。

亲切的问候

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcfighk
系列文章
更多 icon
同类精品
更多 icon
继续加载