asp.net - 找不到 web.sitemap 但它存在

标签 asp.net web.sitemap

我有一个 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/

相关文章:

c# - 如何从站点地图文件中获取当前页面标题?

ASP.NET:使用基于站点地图的导航有哪些优点?

asp.net - signalR - 如何从客户端调用服务器方法 - 代码不起作用

c# - 过程或函数需要未提供的参数。执行非查询

c# - 为什么 Uri.TryCreate 对于像邮件 :foo? 这样的 Uri 返回 TRUE

c# - 如何在 asp.net viewstate 中存储数组集合

asp.net - 源代码管理中的 .vs\config\applicationhost.config

asp.net - 在 web.sitemap 中使用 URL 通配符?