我有一个 ASP.net 站点,并在根目录中创建了一个 web.sitemap 文件。它包含:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>
<siteMapNode url="~/Default.aspx" title="Home" description="Rado Home" />
<siteMapNode url="" title="Structural" description="">
<siteMapNode url="" title="Doors" description=""/>
<siteMapNode url="" title="Staircases" description=""/>
<siteMapNode url="" title="Post Boxes" description=""/>
</siteMapNode>
<siteMapNode url="" title="Functional">
<siteMapNode url="" title="Tables" />
<siteMapNode url="" title="Features" />
</siteMapNode>
<siteMapNode url="" title="Sculpture">
<siteMapNode url="" title="Wall" />
<siteMapNode url="" title="Free Standing" />
</siteMapNode>
<siteMapNode url="" title="Smithing">
<siteMapNode url="" title="Gold" />
<siteMapNode url="" title="Silver" />
<siteMapNode url="" title="Copper" />
</siteMapNode>
<siteMapNode url="~/About.aspx" title="About"/>
<siteMapNode url="~/Contact.aspx" title="Contact"/>
</siteMapNode>
</siteMap>
然后,我在母版页中创建了一个菜单,如下所示:
<asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" Orientation="Horizontal" DataSourceID="SiteMapDataSource1" />
当我运行该网站时,出现以下错误: XmlSiteMapProvider 所需的文件 web.sitemap 不存在。
有什么想法可能是错误的吗?
最佳答案
您的 web.config
是否包含站点地图部分?
<siteMap>
<providers>
<add name="SiteMapDataSource1" description="Default SiteMap provider." type="System.Web.XmlSiteMapProvider" siteMapFile="/MyApplication/Web.sitemap" />
<add name="AdminSiteMap" description="Default SiteMap provider." type="System.Web.XmlSiteMapProvider" siteMapFile="/MyApplication/Admin.sitemap" />
</providers>
</siteMap>
像这样吗?
关于asp.net - 找不到 web.sitemap 但它存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5585113/