2009-05-27 5 views
4

나는 sitemaps에 대해 분명하지 않은 부분이 있다고 생각합니다.ASP.NET에서 여러 .sitemap 파일을 사용하는 방법

우리 사이트에있는 새로운 사이트 맵에 대한 탐색을 생성하기 위해 리피터를 사용하려고합니다. 하지만 우리는 정상적인 Web.sitemap 파일을 사용하고 싶지 않습니다. 새로운 것을 사용하고 싶습니다. 우리는 이것을 "Web.NEW.sitemap"이라고 부를 것입니다.

코드는 ... 점에

<asp:Repeater ID="rptMyRepeater" DataSourceID="mySitemap" runat="server"> 
    <ItemTemplate> 
     blah blah blah 
    </ItemTemplate> 
</asp:Repeater> 

<asp:SiteMapDataSource ID="mySitemap" runat="server" /> 

를 다소 분명한 것 같다하지만 SiteMapDataSource에 대신 기본 맵의 Web.NEW.sitemap 사용하는 방법을 어떻게해야합니까? 다음과 같은 속성을 추가하는 것이 좋습니다.

SiteMapProvider="Web.NEW.sitemap" 

해야하지만 주사위가 없어야합니다.

무엇이 누락 되었습니까?

답변

9

SiteMapDataSource 속성을 사용하려면 web.config를 올바르게 구성해야합니다. SiteMap element 사용

<siteMap defaultProvider="oldProvider"> 
    <providers> 
    <clear /> 
    <add name="oldProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="web.sitemap" /> 
    <add name="newProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.NEW.sitemap" /> 
    </providers> 
</siteMap> 

다음은 web.config 파일에서 제공자의 이름으로 SiteMapProvider 속성을 설정합니다.

SiteMapProvider="newProvider" 
+0

날 –

+0

@NKhan 작동하지, 나는 SiteMapProvider를 설정 한 후, 나는'데이터 바인딩()'내 사이트 맵 다음 내 메뉴 (이 나는 사이트 맵을 사용하던했다, 그래서 내 코드 숨김 파일에 SiteMapProvider을 설정)에 대한 : '_siteMap.SiteMapProvider = "newProvider";' '_siteMap.DataBind();' '_menu.DataBind(); ' 이 작업을 수행해야합니까? 이 방법이 효과가 있습니까? –

+0

형식을 제대로 작동시키는 방법을 모르겠지만 세 줄로 나누어서 원하는 세 가지 명령입니다. –

관련 문제