我想知道在Web窗体中另一个列表“parent”中显示列表“child”的最佳方法是什么。我正在尝试创建一个动态菜单,可以编辑(我有数据库中父项和子项的项目列表)。我介于Gridview
或Repeater
之间,但这是我的HTML:
<ul class="nav navbar-nav">
<li><a href="Admin/Admin.aspx">Admin</a></li>
<li><a href="#">HOME</a></li>
<li class="dropdown"><a href="#">CORPORATE</a>
<ul class="dropdown-menu">
<li><a href="conduct_and_ethics.aspx" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>conduct and ethics</a></li>
<li><a href="About.aspx" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>About us</a></li>
<li><a href="vision_and_core_values.aspx" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>Vision and Core Values</a></li>
<li><a href="technology_and_quality.aspx" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>Technology and Quality</a></li>
<li><a href="#" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>Global Reach</a></li>
</ul>
</li>
</ul>
正如您所看到的,有2 ul
个标签。一个是父母,一个是孩子,所以我想把第一个放在Gridview
中,将其孩子放在Repeater
或Gridview
中,但它看起来很挑战。你有更好的想法吗?
这是我在BLL中的列表:
public static List<CategoryBL> GetCategoryItem()
{
using (dbDataContext db = new dbDataContext())
{
var query = from row in db.TblCategories
select new CategoryBL
{
Title = row.Title,
Description = row.Description,
Link = row.Link
};
return query.ToList();
}
}
当然还有第二个ul
标记的子类别,它将在li
标记中显示:
public static List<SubCategoryBL> GetSubCategories()
{
using (dbDataContext db = new dbDataContext())
{
var query = from row in db.TblSubCategories
select new SubCategoryBL
{
Title = row.Title,
Description = row.Description,
PageLink = row.PageLink,
SubCategoryID = row.SubID
};
return query.ToList();
}
}
这些将与控件绑定,但是哪些?