최근 marteenba의 sitemap provider을 사용하기 시작했습니다. 다른 사이트 맵과 관련된 경로 문제를 해결할 수 없었기 때문입니다. 그것은 이전의 것보다 낫다. 내 질문은 : 어떻게 하나의 메인 페이지로 이동하는 페이지에서 다른 이동 경로를 만들 수 있습니까? 생각 아래 고려 :mvc 3 사이트 맵 공급자 - 동일한 노드를 가리키는 다중 경로
사이트 맵 구조 위의 예에서
<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal">
<mvcSiteMapNode title="Clients Search" controller="ClientBussiness" action="ClientSearch" description="Clients Search">
<mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
</mvcSiteMapNode>
<mvcSiteMapNode title="Advanced Search" controller="ClientBussiness" action="AdvancedSearch" description="Clients Advanced Search">
<mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
</mvcSiteMapNode>
<mvcSiteMapNode title="Another Search" controller="ClientBussiness" action="AnotherSearch" description="Clients Another Search">
<mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
</mvcSiteMapNode>
</mvcSiteMapNode>
, 내 이동 경로는 항상 노드 클라이언트 대신 다른의 검색을 보여줍니다. 각 종류의 검색에 대해 다른 경로를 만들어야하는지 여부는 알지 못합니다 (마지막 사이트 맵에서이 작업을 수행했지만, 불행히도 iis6에서는이 작업이 마음에 들지 않았습니다).
감사합니다.
EDIT
포럼에서 검색 나는 비슷한 질문을 발견했다. 그럼, 아래의 구조를 고려하십시오 :
Home >> Search >> Contracts
Home >> Another Search >> Contracts
Home >> Advanced Search >> Contracts
Home >> Web Service Search >> Extra fields >> Contracts
나는 당신이 한 일을 시도했지만 이전 경로 매개 변수를 유지하기 위해 [SiteMapPreserveRouteDataForParent] 사용자 지정 특성을 사용하고 있습니다. 그리고 어떤 이유로 경로 = "무엇이든지"를 사용할 때 "A 경로"를 얻습니다. '경로 컬렉션에서 찾을 수 없습니다.' 왜 그런 일이 일어날 지 아이디어가 있습니까? – Ryan
우선, global.asax에 실제로 정의 된 경로가 있는지 확인해야합니다. 경로를 찾을 수 없다면 경로 경로가 잘못되었다는 것을 의미 할 수 있습니다. 정확한 경로 이름을 사용하지만 경로가 정의되지 않은 'SiteMapNodeAttribute'를 정의했을 수 있습니다. 둘째,'Mvc.sitemap' 파일을 검사하여 경로 충돌이 있는지 확인하십시오. – AdrianoRR
"Route"매개 변수는 이전 경로 또는 현재 경로를 지정하는 것입니다. – Ryan