簡體   English   中英

如何使用 Sitemappath 控件在網站的母版頁中添加面包屑?

[英]How to use Sitemappath control to add breadcrumbs in Master Page of a website?

我正在嘗試在我的網頁上添加面包屑以便於導航。 為此,我使用了 Asp.Net 的 SiteMapPath 控件,同時我還制作了一個面包屑.Sitemap 文件,其中列出了所有頁面。 但是在我的母版頁中實現站點地圖路徑時,我收到了一個通用錯誤。 我不明白為什么會這樣? 這是我的aspx頁面的基本結構-

<div id="menu-pt">
<div class="hm"><a href="Page1.aspx" class="active">Home</a></div>
<div id="nav">
<ul id="nav" name="nav">
                <li><a href="Page2.aspx">Page2</a></li>
                <div class="saparation"></div>
                <li><a href="Page3.aspx">Page3</a></li>
                <div class="saparation"></div>
             <li> <a href="Page4.aspx">Page4</a></li>
            <div class="saparation"></div>
            <li><a href="#">Pages</a>
            <div id ="Ul2" runat="server">
                <ul id="sub-nav" >
                <li><a href="Page5.aspx">Page5</a></li>
                <li><a href="Page6.aspx">Page6</a></li>
                <li><a href="Page7.aspx">Page7</a></li>
                <li><a href="Page8.aspx">Page8</a></li>
            </ul>
            </div>
             <div id ="Ul1" runat="server">
             <ul id="sub-nav" >

                <li><a href="Page9.aspx">Page9</a></li>
                <li><a href="Page10.aspx">Page10</a></li>
                <li><a href="Page11.aspx">Page11</a></li>
                <li><a href="Page12.aspx">Page12</a></li>
                <li><a href="Page13.aspx">Page13</a></li>
            </ul>
            </div>
                </li>          
           </ul>
</div>
</div>

  • Page5,6,7,8.aspx 頁面適用於所有用戶。
  • Page9,10,11,12,13.aspx 頁面供登錄用戶使用。 我的breadcrumb.sitemap文件是-

     <?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <siteMapNode url="Page1.aspx" title="Home" description="Page1"> <siteMapNode url="Page2.aspx" title="Page2" description="Page2" /> <siteMapNode url="Page3.aspx" title="Page3" description="Page3" /> <siteMapNode url="Page4.aspx" title="Page4" description="Page4" /> <siteMapNode url="" title="Pages" description=""> <siteMapNode url="Page5.aspx" title="Page5" description="Page5" /> <siteMapNode url="Page6.aspx" title="Page6" description="Page6" /> <siteMapNode url="Page7.aspx" title="Page7" description="Page7" /> <siteMapNode url="Page8.aspx" title="Page8" description="Page8" /> <siteMapNode url="Page9.aspx" title="Page9" description="Page9" /> <siteMapNode url="Page10.aspx" title="Page10" description="Page10" /> <siteMapNode url="Page11.aspx" title="Page11" description="Page11" /> <siteMapNode url="Page12.aspx" title="Page12" description="Page12" /> <siteMapNode url="Page13.aspx" title="Page13" description="Page13" /> </siteMapNode> </siteMapNode> </siteMap>

    我還在我的 aspx 頁面上放置了一個站點地圖路徑控件-

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

    請指導我哪里做錯了。 我讀了幾篇文章,它說這么多步驟足以在網站的每個頁面上添加面包屑。 請指導我在哪里做錯了?

  • SiteMapPath控件默認使用Web.sitemap文件。 此外,將站點地圖文件放在網站的根目錄中,並且 URL 屬性應該相對於根目錄。

    此外,您嘗試查看的頁面必須包含在站點地圖文件中,否則此頁面上不會顯示任何面包屑。

    編輯::

    確保在母版頁上包含SiteMapPath控件,以便它可用於從Page1.apsxPage13.aspx所有頁面(如果它們都使用母版文件),否則您應該將 SiteMapPath 控件單獨放置在每個頁面上您需要在其中顯示面包屑的頁面。

    你還提到了你的站點地圖文件是breadcrumb.sitemap ,只要確保它應該是 Web.sitemap。 如果它已經是 Web.sitemap,則保留它。

    剛試過你的代碼,面包屑顯示正確。[左上角]。 在我的例子中,SiteMapPath 控件被放置在主文件中。

    在此處輸入圖片說明

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM