gpt4 book ai didi

c# - asp.net cms 页面子菜单不工作

转载 作者:太空狗 更新时间:2023-10-29 18:00:07 25 4
gpt4 key购买 nike

我在我的网站上创建子菜单时遇到问题

我有 2 个 MSSQL 数据库表:

万维网

  • WWW_ID
  • CAT_ID --> FK 到类别
  • WWW_NAME

类别

  • CAT_ID
  • CAT_NAME
  • CAT_SORTORDER

我的foreach

    sb.Append("<ul class=\"Menu\">");
foreach (WWW item in WWW.Fetch(null, null, null))
{
if (item.Active)
{
//All pages that doesnt have a categorie
if (!item.Categorie.ID.HasValue)
{
sb.AppendFormat("<li><a href=\"page?id={1}\">{0}</a></li>", item.Name, item.ID.ToString());
}
//All pages that have a categorie
if (item.Categorie.ID.HasValue)
{
//Split different categories.
if (CAT != item.Categorie.Name)
{
CAT = item.Categorie.Name;
sb.AppendFormat("<li><a href=\"page?id={1}\">{0}</a></li>", item.Categorie.Name, item.ID.ToString());
}
}
}
CAT = "";
}
sb.Append("</ul>");

我迷路了我需要在哪里创建开始 UL 和结束 UL我什么时候需要重置我的 String CAT。谢谢

最佳答案

我不太确定你的菜单结构是什么,因为你没有一个很好的例子。但是,如果您正在做类似的事情:

<ul>
<li>Category</li>
<li>Catefory
<ul>
<li>Page</li>
</ul>
</li>
<\ul>

然后你需要做类似的事情:

sb.Append("<ul class=\"Menu\">");
foreach (Categories category in Categories.Fetch(null, null, null))
{
if (category.Active)
{
sb.AppendFormat("<li><a href=\"page?id={1}\">{0}</a>", category.Name, category.ID.ToString());
var pages = WWW.Fetch(p => p.Categorie.ID.Equals(category.ID));
if(pages.Any()) {
sb.Append("<ul>");
foreach(WWW page in pages) {
sb.AppendFormat("<li><a href=\"page?id={1}\">{0}</a></li>", page.Name, page.ID.ToString());
}
sb.Append("</ul>");
}
sb.Append("</li>");
}
}
sb.Append("</ul>");

我知道这很可能不完全符合您的需求,但应该是菜单背后逻辑的一个很好的例子。如果您可以在类别和 WWW 表如何表示数据的背后填写更多细节,以及您的预期输出的示例,我相信我可以附加一个更具体的示例。

关于c# - asp.net cms 页面子菜单不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26785626/

25 4 0