国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ASP.NET - 如何:配置多個站點地圖和站點地圖提供程序

2019-11-17 03:58:45
字體:
來源:轉載
供稿:網友
  默認情況下,asp.net 網站導航使用一個名為 Web.sitemap 的 xml 文件,該文件描述網站的層次結構。但是,您可能要使用多個站點地圖文件或站點地圖提供程序來描述整個網站的導航結構。

例如,您可以具有引用子站點地圖的主站點地圖。主站點地圖可以是:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

  <siteMapNode  title="Home Page"  description="">

    <siteMapNode title="First Level 1"  description="" />

    <siteMapNode  title="First Level 2" description="">

      <siteMapNode  title="Second Level 1" description=""/>

      <siteMapNode  title="Second Level 2" description=""/>

    </siteMapNode>

    <siteMapNode siteMapFile="child.sitemap" />

  </siteMapNode>

</siteMap>

子站點地圖可以是:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

  <siteMapNode  title="Child First Level 1"  description="">

    <siteMapNode title="Child Second Level 1"  description="" />

    <siteMapNode  title="Child Second Level 2"  description="" />

    <siteMapNode  title=""  description="" />

  </siteMapNode>

</siteMap>

從兩個站點地圖生成的菜單將顯示如下:

Home Page

  First Level 1

  First Level 2

    Second Level 1

    Second Level 2

  Child First Level 1

    Child Second Level 1

    Child Second Level 2

若要為一個網站配置多個站點地圖,請從應用程序根目錄下的站點地圖開始。在 Web.config 文件中將根提供程序配置為默認的站點地圖提供程序。然后,通過在 SiteMapNode 對象中引用子站點地圖或提供程序來鏈接到它們。



一、從父站點地圖鏈接到子站點地圖文件

在父站點地圖的導航結構中,在要顯示子站點地圖的位置創建一個 SiteMapNode。

例如,如果使用的是默認的 XmlSiteMapPRovider 類,則將下面的 SiteMapNode 添加到 Web.sitemap 文件中的相應位置。

<siteMapNode siteMapFile="MySiteMap.sitemap" />



siteMapFile 屬性可以采取下面的某一種形式:

·一個與應用程序相關的引用,如 ~/MySiteMap.sitemap。

      ·一個虛擬路徑,如 /Customers/MySiteMap.sitemap。

      ·一個相對于當前站點地圖文件位置的路徑引用,如 Guests/MySiteMap.sitemap。



說明: 當指定 siteMapFile 屬性時,不要為 siteMapNode 元素提供 Url、title 或 description 屬性。



二、從父站點地圖鏈接到自定義站點地圖提供程序

1、在父站點地圖的導航結構中,在要顯示子站點地圖的位置創建一個 SiteMapNode。

例如,如果使用的是默認的 XmlSiteMapProvider 類,則打開 Web.sitemap 文件并將下面的 SiteMapNode 添加到層次結構中的相應位置:

<siteMapNode provider="SimpleTextSiteMapProvider" />

說明: provider 屬性與 Web.config 文件中的提供程序的 name 屬性相對應。



2、使用 add 元素將自定義站點地圖提供程序添加到 Web.config 文件中。

下面的代碼添加名為 SimpleTextSiteMapProvider 的自定義提供程序,但將 XmlSiteMapProvider 保留為默認的站點地圖提供程序。

<configuration>

  <!-- other configuration sections -->

  <system.web>

    <!-- other configuration sections -->

    <siteMap defaultProvider="XmlSiteMapProvider">

      <providers>

        <add

          name="SimpleTextSiteMapProvider"

      type="Samples.AspNet.SimpleTextSiteMapProvider,Samples.AspNet"

          siteMapFile = "siteMap.txt" />

      </providers>

    </siteMap>

  </system.web>

</configuration>



三、在 Web.config 文件中配置多個站點地圖

      如先前示例所示,將站點地圖鏈接在一起可以從許多塊地圖生成一個站點地圖結構。或者,您還可以在 Web.config 文件中添加對不同站點地圖的引用,使它們看起來像是不同的提供程序。在網站的不同區域需要不同的導航結構時,這將十分有用。

在 Web.config 文件中,找到 siteMap 節,并為每個站點地圖都創建一個 add 元素。



下面的示例演示如何添加兩個站點地圖。

<configuration>

  <!-- other configuration sections -->

  <system.web>

    <!-- other configuration sections -->

    <siteMap defaultProvider="XmlSiteMapProvider">

     <providers>

       <add name="Company1SiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Company1/Company1.sitemap" />

       <add name="Company2SiteMap" type="System.Web.XmlSiteMapProvider"          siteMapFile="~/Company2/Company2.sitemap" />

     </providers>

    </siteMap>

  </system.web>

</configuration>

通過此配置,您可以與導航 API 成員和導航控件(如 SiteMapPath、TreeView 和 Menu)一起使用 ~/Company1/Company1.sitemap 和 ~/Company2/Company2.sitemap 文件。為此,需要將相關 SiteMapProvider 屬性設置為 Company1SiteMap 或 Company2SiteMap。



本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/dodream/archive/2009/12/18/5029809.aspx
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣化县| 麻城市| 维西| 东台市| 三门峡市| 孟州市| 阜平县| 林州市| 迁安市| 安顺市| 宕昌县| 陆丰市| 鸡东县| 霍山县| 大化| 奉新县| 出国| 南木林县| 托克逊县| 潼关县| 铁岭县| 武义县| 丹寨县| 连山| 泾源县| 东城区| 轮台县| 兴宁市| 汉中市| 沐川县| 泽州县| 莱州市| 安义县| 仙居县| 宁陵县| 新沂市| 泊头市| 宣威市| 嘉鱼县| 南平市| 达拉特旗|