How to set up breadcrumb in einem ASP.net Seite

Meine Ordner Hierarchie für die Seiten sind (Sie sind alle im gleichen Ordner):

Site.Master
Default.aspx
find_provider.aspx
provider.aspx

Ich habe eine Web.sitemap Seite eingerichtet:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="~/Default.aspx" title="Home"  description="Homepage">
        <siteMapNode url="~/find_provider.aspx" title="Provider" description="Search for provider">
            <siteMapNode url="~/provider.aspx" title="Profile" description="Shows each provider profile" />
        </siteMapNode>
    </siteMapNode>
</siteMap>

Rufe ich in meiner MasterPage:

<div id="navigation">
    <ul>
        <li><asp:HyperLink runat="server" ID="lnkHome" NavigateUrl="~/Default.aspx">Home</asp:HyperLink></li>

        <asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">
            <ItemTemplate>
                <li>
                    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>
                </li>
            </ItemTemplate>
        </asp:Repeater>
    </ul>

    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />
</div>

So Default.aspx ist meine landing-page. Benutzer können klicken Sie auf find_provider.aspx Suche nach einem Anbieter Ihrer Wahl. Für jeden Anbieter suchergebnis, kann der Benutzer klicken Sie auf den PROFIL-link, um die Informationen für jeden einzelnen Anbieter, die die provider.aspx Seite.

Also:

  • Wenn ich auf der Startseite meiner breadcrumb sollte: Home
  • Wenn ich auf die ein Anbieter zu finden der Seite meine breadcrumb sollte: Home
    Provider
  • Wenn ich auf der Profil-Seite meiner breadcrumb sollte: Home Provider
    Profile

Stattdessen sehe ich diese auf meiner Seite (egal auf welcher Seite ich bin):

Bitte helfen Sie mir, ändern Sie den code so, dass die breadcrumb angezeigt wird, sitenode und subsitenode.

Beispiel, was ich erreichen möchte:

HTML:

<div class="bcHolder brClear"> <!-- BC MAIN -->
    <div class="innerBreadCrumb"> <!-- INNER BC -->
        <ul id="breadcrumb">
            <li><a href="default.aspx" title="Home"><img src="theImages/homeIcon.gif" alt="Home" title="Home" class="home" /></a></li>
            <li id="bc_fp"><a href="find_provider.aspx" title="Find a Provider">Find a Provider</a></li>
            <!--<li>{ON THE CURRENT PAGE TEXT/URL</li>-->
        </ul>
    </div> <!-- INNER BC -->
</div> <!-- BC MAIN -->

Ausgabe:

How to set up breadcrumb in einem ASP.net Seite

  • Dies ist eigentlich nicht so schwierig und hier ist eine Anleitung, wie dies zu tun.. ich persönlich habe meine eigenen mit MasterPage und nachverfolgt, von welcher Seite ich auf +, von welcher Seite ich hatte navigiert der gesamte code wurde an der MasterPage Ebene ..es gibt viele Möglichkeiten, um Haut diese Katze.. Asp.NET BreadCrub
  • Danke. Ich habe bereits überprüft, die Seite. Anpassung ist sehr begrenzt. Ich bin auf der Suche, um es zu tun, wie ich in meiner Frage (aktualisiert)
  • können Sie ein label erstellen, das auf der master-Seite und von dort aus, wie ich erklärt habe, früher zeigen, dass es der Weg aller aus der masterpage. Sie wird schreiben müssen, das 1 oder 2 Methoden, es zu tun sowie einige Switch-case-Anweisungen zum prüfen der aktuellen Seite name ich habe so etwas wie diese funktioniert bereits, ich werde posten was ich kann, um Ihnen den Einstieg..
  • Sowas hatte ich mit JQuery aber der Dritte Knoten wird kompliziert, und wenn ich habe eine Menge Seiten, dann wird es sehr umständlich zu handhaben. Aber sicher, ich werde schauen bei dir 🙂
InformationsquelleAutor Si8 | 2014-11-12
Schreibe einen Kommentar