Поделиться через


XmlSiteMapProvider.Initialize(String, NameValueCollection) Метод

Определение

Выполняет инициализацию объекта XmlSiteMapProvider. Метод Initialize(String, NameValueCollection) в действительности не собирает карту веб-узла, он только подготавливает состояние объекта XmlSiteMapProvider, который выполняет это.

public:
 override void Initialize(System::String ^ name, System::Collections::Specialized::NameValueCollection ^ attributes);
public override void Initialize (string name, System.Collections.Specialized.NameValueCollection attributes);
override this.Initialize : string * System.Collections.Specialized.NameValueCollection -> unit
Public Overrides Sub Initialize (name As String, attributes As NameValueCollection)

Параметры

name
String

Объект XmlSiteMapProvider для инициализации.

attributes
NameValueCollection

Объект NameValueCollection, который может содержать дополнительные атрибуты возможности инициализации name. Эти атрибуты считываются из конфигурации поставщика XmlSiteMapProvider в файле Web.config.

Исключения

Класс XmlSiteMapProvider инициализируется более одного раза.

Объект SiteMapNode использует физический путь для ссылки на файл карты веб-узла.

-или-

При попытке синтаксического анализа виртуального пути, предоставленного для атрибута siteMapFile произошла ошибка.

Примеры

В следующем примере кода показано, как создать новый экземпляр класса и инициализировать XmlSiteMapProvider его для создания карты сайта на основе XML-данных.

<%@ Page Language="c#" %>  
<SCRIPT runat="server">  
 private void Page_Load(object sender, System.EventArgs e) {  
     // Create an instance of the XmlSiteMapProvider class.  
     XmlSiteMapProvider testXmlProvider = new XmlSiteMapProvider();  
     NameValueCollection providerAttributes = new NameValueCollection(1);  
     providerAttributes.Add("siteMapFile","test.sitemap");  

     // Initialize the provider with a provider name and file name.  
     testXmlProvider.Initialize("testProvider", providerAttributes);  

     // Call the BuildSiteMap to load the site map information into memory.  
     testXmlProvider.BuildSiteMap();  

     // Prints "/myvirtualdirectory/WebForm1.aspx"  
     Response.Write(testXmlProvider.RootNode.Url + "<BR>");  

     // Prints "/myvirtualdirectory/WebForm2.aspx"  
     Response.Write(testXmlProvider.CurrentNode.Url + "<BR>");  
 }  
 </SCRIPT>  

В приведенном выше примере кода используется XML-файл, расположенный в виртуальном корне приложения ASP.NET. Файл имеет следующий формат:

<siteMap>  
  <siteMapNode title="RootNode" description="The root page." url="WebForm1.aspx">  
    <siteMapNode title="CurrentNode" description="Some sub page." url="WebForm2.aspx"/>  
  </siteMapNode>  
</siteMap>  

Комментарии

Класс XmlSiteMapProvider переопределяет наследуемый Initialize метод для применения к коллекции нескольких атрибутов, таких как siteMapFile атрибуты attributes и description .

Применяется к

См. также раздел