在asp.net递归绑定无序列表
问题说明
您好专家,我的数据如下:
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
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /reply/detail/tanhcfighk
-
YouTube API 不能在 iOS (iPhone/iPad) 工作,但在桌面浏览器工作正常?
it1352 07-30 -
iPhone,一张图像叠加到另一张图像上以创建要保存的新图像?(水印)
it1352 07-17 -
保持在后台运行的 iPhone 应用程序完全可操作
it1352 07-25 -
使用 iPhone 进行移动设备管理
it1352 07-23 -
在android同时打开手电筒和前置摄像头
it1352 09-28 -
扫描 NFC 标签时是否可以启动应用程序?
it1352 08-02 -
检查邮件是否发送成功
it1352 07-25 -
Android微调工具-删除当前选择
it1352 06-20 -
希伯来语的空格句子标记化错误
it1352 06-22 -
Android App 和三星 Galaxy S4 不兼容
it1352 07-20