C# Web.config中的站点地图存在问题

C# Web.config中的站点地图存在问题,c#,asp.net,visual-studio-2010,C#,Asp.net,Visual Studio 2010,Web.config出现问题。站点地图不工作。VS2010 <siteMap defaultProvider="XmlSiteMapProvider" enabled="true"> <providers> <add name="XmlSiteMapProvider" description="Default SiteMap provider." type="System.Web.X

Web.config出现问题。站点地图不工作。VS2010

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
        <providers>
          <add name="XmlSiteMapProvider"
            description="Default SiteMap provider."
            type="System.Web.XmlSiteMapProvider "
            siteMapFile="Web.sitemap"
            securityTrimmingEnabled="true" />
        </providers>
 </siteMap> 

我认为它没有看到“Web.sitemap”。 标签“add”中的Intellisense仅建议lockAllAttributesExcept、LockAllegementSecept、lockAttributes、lockElements、lockItem-parameters。 但不建议参数说明、siteMapFile、securityTrimmingEnabled

原因可能是什么? 请指教

Web.config内容是:

<?xml version="1.0"?>

<configuration>
  <connectionStrings>

    <add name="SqlRoleManagerConnection" 
         connectionString="Data Source=server_name;Integrated Security=false;Initial Catalog=DB_XXX;User ID=User_XXX;Password=PASSWD_XXX" 
         providerName="System.Data.SqlClient" />    
  </connectionStrings>


  <location path="Approver.aspx">
      <system.web>
          <authorization>
              <allow roles="Approvers"/>
              <deny users="*"/>
          </authorization>
      </system.web>
  </location>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Windows"/>

    <authorization>
        <deny users="?"/>
    </authorization>

    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
      </providers>
    </profile>

    <roleManager enabled="true" defaultProvider="SqlRoleManager">
      <providers>
        <clear/>
        <add name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlRoleManagerConnection" applicationName="HSE_Monitoring_Application" />
      </providers>

    </roleManager>


    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider" 
          description="Default SiteMap provider."
          type="System.Web.XmlSiteMapProvider"
          siteMapFile="Web.sitemap"
          securityTrimmingEnabled="true" />
      </providers>
    </siteMap>

  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

  <siteMapNode url="default.aspx" title="Home">
      <siteMapNode url="approver.aspx" title="Approver Expenses" roles="Approvers" />
      <siteMapNode url="audit/auditor.aspx" title="Audit Page" roles="Auditors" />
      <siteMapNode url="admin/admin.aspx" title="Admin Manager" roles="Admins" />
  </siteMapNode>

</siteMap>

网站地图内容为:

<?xml version="1.0"?>

<configuration>
  <connectionStrings>

    <add name="SqlRoleManagerConnection" 
         connectionString="Data Source=server_name;Integrated Security=false;Initial Catalog=DB_XXX;User ID=User_XXX;Password=PASSWD_XXX" 
         providerName="System.Data.SqlClient" />    
  </connectionStrings>


  <location path="Approver.aspx">
      <system.web>
          <authorization>
              <allow roles="Approvers"/>
              <deny users="*"/>
          </authorization>
      </system.web>
  </location>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Windows"/>

    <authorization>
        <deny users="?"/>
    </authorization>

    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
      </providers>
    </profile>

    <roleManager enabled="true" defaultProvider="SqlRoleManager">
      <providers>
        <clear/>
        <add name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlRoleManagerConnection" applicationName="HSE_Monitoring_Application" />
      </providers>

    </roleManager>


    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider" 
          description="Default SiteMap provider."
          type="System.Web.XmlSiteMapProvider"
          siteMapFile="Web.sitemap"
          securityTrimmingEnabled="true" />
      </providers>
    </siteMap>

  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

  <siteMapNode url="default.aspx" title="Home">
      <siteMapNode url="approver.aspx" title="Approver Expenses" roles="Approvers" />
      <siteMapNode url="audit/auditor.aspx" title="Audit Page" roles="Auditors" />
      <siteMapNode url="admin/admin.aspx" title="Admin Manager" roles="Admins" />
  </siteMapNode>

</siteMap>


向你问好

web.sitemap
文件是ASP.NET的默认站点地图提供程序,因此它可以在不指定
的情况下工作。谢谢,您解决了我的问题。什么部分?修路?