Bagikan melalui


XmlSiteMapProvider.BuildSiteMap Metode

Definisi

Memuat informasi peta situs dari file XML dan menyusunnya dalam memori.

public:
 override System::Web::SiteMapNode ^ BuildSiteMap();
public override System.Web.SiteMapNode BuildSiteMap();
override this.BuildSiteMap : unit -> System.Web.SiteMapNode
Public Overrides Function BuildSiteMap () As SiteMapNode

Mengembalikan

Mengembalikan akar SiteMapNode struktur navigasi peta situs.

Pengecualian

XmlSiteMapProvider Tidak diinisialisasi dengan benar.

-atau-

siteMapFile diurai untuk yang <siteMapNode> tidak unik.

-atau-

File yang ditentukan oleh siteMapFile tidak memiliki ekstensi nama file .sitemap.

-atau-

File yang ditentukan oleh siteMapFile tidak ada.

-atau-

Penyedia yang <siteMapNode> dikonfigurasi di provider dari mengembalikan simpul akar null.

siteMapFile ditentukan tetapi jalur terletak di luar struktur direktori saat ini untuk aplikasi.

Ada kesalahan saat memuat file konfigurasi.

-atau-

Elemen teratas file konfigurasi bukan named <siteMap>.

-atau-

Ada lebih dari satu simpul teratas dalam file konfigurasi.

-atau-

Anak memiliki <siteMap> nama selain <siteMapNode>.

-atau-

Atribut tak terduga diurai untuk <siteMapNode>.

-atau-

Sub-elemen disarangkan di bawah <siteMapNode> tempat provider diatur.

-atau-

Karakter roles<siteMapNode> berisi yang tidak valid.

-atau-

url diurai untuk yang <siteMapNode> tidak unik.

-atau-

SiteMapNode ditemui dengan nilai duplikat untuk Key.

-atau-

ResourceKey atau Title ditentukan pada SiteMapNode atribut atau yang custom ditentukan untuk simpul yang berisi ekspresi sumber daya eksplisit.

-atau-

Ekspresi sumber daya eksplisit diterapkan baik ke Title atau Description ke custom atribut SiteMapNode tetapi informasi eksplisit tidak valid.

-atau-

Terjadi kesalahan saat mengurai Url dari SiteMapNode.

Penyedia bernama tidak dapat ditemukan di kumpulan penyedia peta situs saat ini.

Mereferensikan <siteMapNode> file peta situs berisi string kosong untuk siteMapFile.

Salah siteMapFile satu <siteMapNode> menggunakan jalur fisik.

-atau-

Terjadi kesalahan saat mencoba mengurai jalur virtual ke file yang ditentukan dalam siteMapFile.

Contoh

Contoh kode berikut menunjukkan cara membuat instans XmlSiteMapProvider baru kelas dan menginisialisasinya untuk membangun peta situs dari data XML.

<%@ Page Language="c#" %>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <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);

     // The BuildSiteMap method is implicitly called when the
     // RootNode property is accessed.

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

Contoh kode sebelumnya menggunakan file XML yang terletak di akar virtual aplikasi ASP.NET. File memiliki format berikut:

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

Keterangan

Metode BuildSiteMap ini dipanggil untuk memuat dan membangun peta situs dari penyimpanan persisten.

Untuk perilaku default saat pemangkasan keamanan diaktifkan, lihat "Komentar" di IsAccessibleToUser.

XmlSiteMapProvider Setelah objek mengurai dan memuat data peta situs, semua objek dan SiteMapNodeCollection koleksi yang dimuat SiteMapNode dibuat baca-saja. XmlSiteMapProvider Ketika menguraikan Url properti dari file peta situs, ia mengonversi URL relatif aplikasi, serta URL relatif, ke jalur virtual absolut aplikasi.

XmlSiteMapProvider Berlangganan pemberitahuan perubahan file untuk file .sitemap. Jika ada perubahan yang dilakukan pada file .sitemap, XmlSiteMapProvider dimuat ulang, dan struktur peta situs dibangun kembali.

Berlaku untuk

Lihat juga