类似的问题被问到here 但它没有提供任何解决方案。此问题的接受答案仅适用于一个菜单项。如果我们使用“#”作为多个项目的url,那么它会给出错误,如same url # was used multiple times
。这就是为什么我再次发布这个来听取专家的解决方案。我的问题是,菜单项不可见,当sitemapnode的url属性为空时
我有像下面的网站地图。
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Invisible" description="Main Page" url="Menu.aspx" >
<siteMapNode title="Home" url="Default.aspx" />
<siteMapNode title="Time Sheets" url="#">
<siteMapNode title="Time Sheet Entry" description="Menu one" url="Menu1.aspx" />
<siteMapNode title="Time Sheet Approval" description="Menu Two" url="Menu2.aspx" />
</siteMapNode>
<siteMapNode title="Leaves">
<siteMapNode title="Leave Request" url="leaverequest.aspx" />
<siteMapNode title="Leave Approval" url="leaveapproval.aspx"/>
</siteMapNode>
<siteMapNode roles="Administrator" description="Only for administrators" title="Reports" url="SubMenu1.aspx" />
<siteMapNode title="Administration" url="~/UserRegistration.aspx" >
<siteMapNode title="Register New User" url="~/Account/AdminRegister.aspx"></siteMapNode>
</siteMapNode>
<siteMapNode title="Help" url="~/Account/UserSettings.aspx" description=""></siteMapNode>
</siteMapNode>
</siteMap>
对于叶节点没有任何网址。叶下有两个子菜单。这些只包含到特定页面的网址。但是,当我在我的母版页中渲染这个时,节点根本不出现。我尝试使用空url属性,如 <siteMapNode title="Leaves" url="#">
。这也不能解决问题。我的网站地图页面会出现什么错误?