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
.