XmlSiteMapProvider.Initialize(String, NameValueCollection) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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
。 这些特性是从 Web.config 文件中的 XmlSiteMapProvider 配置读取的。
例外
示例
下面的代码示例演示如何创建类的新实例 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>
前面的代码示例使用位于 ASP.NET 应用程序的虚拟根目录中的 XML 文件。 文件采用以下格式:
<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
和属性)应用于 description
attributes
集合。