다른 웹 파일의 많은 장소에서 특정 URL을 가져와야합니다. 그래서 XML 형식으로 사이트 맵을 작성하기 시작합니다. 네비게이션 메뉴 나 빵 부스러기가 필요 없으며, 단순히 리소스 키에 의해 URL을 얻습니다. 불행히도 지금까지 모든 판독은 탐색 메뉴를 설정하는 방법을 설명합니다. 그리고 지금까지 내가 시도한 모든 것은 단지 나를 오류로 이끌었습니다.FindSiteMapNodeFromKey (string) Asp.net을 사용하는 방법? 작동하지 않음
나는이 같은 뭔가가 필요 , (그러나 예외 : 개체 참조가 개체의 인스턴스로 설정 또한 Mynode1 항상 널 아니다.) :
SiteMapNode MyNode1 = new SiteMapNode(MyXmlSiteMapProvider, "Product1");
HyperLink1.NavigateUrl = MyNode1.Url;
나는 또한 이렇게 :
SiteMapNode MyNode1 = new SiteMapNode(MyXmlSiteMapProvider, "Product1");
MyNode1= MyXmlSiteMapProvider.FindSiteMapNodeFromKey("Product1");
HyperLink1.NavigateUrl = MyNode1.Url;
또한 다음 MyXmlSiteMapProvider 및 BuildSiteMap()을 초기화 할 수있는 NameValueCollection은과 providerAttributes으로 시도하지만, 같은 결과. (빈 링크 또는 오류)
내 사이트 맵이
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider"
description="SiteMap provider that reads in .sitemap files."
type="System.Web.XmlSiteMapProvider"
siteMapFile="web.sitemap" />
</providers>
</siteMap>
을 가지고,이 <?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/default.aspx" title="Home" description="Homepage" resourceKey="home">
<siteMapNode url="~/products/mainlist.aspx" title="List of products" description="" resourceKey="listOfProducts" >
<siteMapNode url="~/products/catA/someproduct.aspx" title="Product tittle" description="" resourceKey="Product1"/>
</siteMapNode>
</siteMapNode>
</siteMap>
내 Web.Config 파일 (파일 이름이 web.sitemap입니다)처럼 보인다
이 작업을 수행 할 수있는 간단한 방법을 아는 사용자에게 미리 감사드립니다.