日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何在一个站点里使用两个Web.sitemap 或是多个Web.sitemap?

發布時間:2023/12/31 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在一个站点里使用两个Web.sitemap 或是多个Web.sitemap? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? 在默認情況下,ASP.NET 站點導航使用一個名為 Web.sitemap 的 XML 文件,該文件描述網站的層次結構。但是,您可能要使用多個站點地圖文件或站點地圖提供程序來描述整個網站的導航結構。

?? 若要為一個站點配置多個站點地圖,在 Web.config 文件中配置多個站點地圖

在 Web.config 文件中,找到 <siteMap> 部分。如果該部分不存在,則使用下面的代碼。否則,只需插入 <add> 部分。

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

<configuration>
??
????
<appSettings/>
????
<connectionStrings/>
??
????
<system.web>
????????
<!--?
????????????設置?compilation?debug
="true"?將調試符號插入
????????????已編譯的頁面中。但由于這會?
????????????影響性能,因此只在開發過程中將此值?
????????????設置為?
true
????????
-->
????????
<compilation?debug="true"?/>
????????
<!--
????????????通過?
<authentication>?節可以配置?ASP.NET?使用的?
????????????安全身份驗證模式,
????????????以標識傳入的用戶。?
????????
-->
????????
<authentication?mode="Windows"?/>
????????
<!--
????????????如果在執行請求的過程中出現未處理的錯誤,
????????????則通過?
<customErrors>?節可以配置相應的處理步驟。具體說來,
????????????開發人員通過該節可以配置
????????????要顯示的?html?錯誤頁
????????????以代替錯誤堆棧跟蹤。

????????
<customErrors?mode="RemoteOnly"?defaultRedirect="GenericErrorPage.htm">
????????????
<error?statusCode="403"?redirect="NoAccess.htm"?/>
????????????
<error?statusCode="404"?redirect="FileNotFound.htm"?/>
????????
</customErrors>
????????
-->
??????
<siteMap>
????????
<providers>
??????????
<add?siteMapFile="~/Admin/Web.sitemap"?name="MyAspNetXmlSiteMapProvider"?type="System.Web.XmlSiteMapProvider,?System.Web,?Version=2.0.0.0,?Culture=neutral,?PublicKeyToken=b03f5f7f11d50a3a"/>
????????
</providers>
??????
</siteMap>
????
</system.web>
</configuration>

如果你有多個sitemap可以加多個<add>,siteMapFile 是指定你所用地Sitemap,name請不要用相同的name(默認的是ASPNetXmlSiteMapProvider),因為name 相同就會覆蓋前一個。配置文件就寫好了

在頁面中如果是SiteMapPath只用把配置文件name 指定給它地SiteMapProvider屬性就行了

如果是TreeView那就要配置它的SiteMapDataSource的siteMapProvider屬性

下面看一代碼:

?

Code
?<asp:SiteMapPath?ID="SiteMapPath1"?runat="server"?SiteMapProvider="MyAspNetXmlSiteMapProvider">
????????
</asp:SiteMapPath>

?

Code
????????<asp:TreeView?ID="TreeView2"?runat="server"?DataSourceID="SiteMapDataSource2">
????????
</asp:TreeView>
????????
<asp:SiteMapDataSource?ID="SiteMapDataSource2"?runat="server"?SiteMapProvider="MyAspNetXmlSiteMapProvider"?/>

?

如果你不指定他們的SiteMapProvider 他就會使用默認的如下:

?

Code
????????<asp:SiteMapPath?ID="SiteMapPath1"?runat="server">
????????
</asp:SiteMapPath>

這樣就實現了一個站點可以使用多個Web.siteMap了。還有另外一種方式實現那就是重寫它的提供者,這種方式稍微有點復雜,在下次文章中就會寫到。

?

源代碼下載?

轉載于:https://www.cnblogs.com/964/archive/2008/09/12/1290097.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的如何在一个站点里使用两个Web.sitemap 或是多个Web.sitemap?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。