2010-09-03 5 views
5

Breadcrumb trailErstellen eines grafischen Brotkrumen-oder Prozesspfad in .NET MVC 2

I oben eine Brotkrumen-Struktur ähnlich dem Bild haben. Es zeigt den Fortschritt der Formulare, die Formularnamen und die aktuelle Seite an und gibt dem Benutzer eine Anleitung für den Beginn und das Ende des Vorgangs.

Dies wurde ursprünglich in klassischen ASP zusammengestellt. Was wäre der beste Ansatz zur Wiederherstellung in MVC 2 - C#

Als Antwort auf eine der folgenden Antworten: Ich möchte nicht, dass dies auf der ganzen Website, ich suchte nach einer Breadcrumb-Lösung für eine Sammlung von Englisch: www.mjfriendship.de/en/index.php?op...39&Itemid=32 Ich könnte zum Beispiel eine Reihe von Formularen für eine Beschwerde oder einen Satz für Vorschläge usw. haben. Also muss ich in der Lage sein, die Formulardetails in etwas wie einen Helfer oder eine Funktion zu überführen, die dann ein ähnliches Ergebnis wie die Bild oben.

Dies ist die ursprüngliche klassische ASP-Code, der den Weg ..

Class BreadCrumb 

Private dicCrumbs 
Private arrIcons() 
Private arrColours() 

Public Sub Crumb(Text, Icon) 

    dicCrumbs(Text) = Icon 

End Sub 

Private Sub Class_Initialize() 

    Set dicCrumbs = Server.CreateObject("Scripting.Dictionary") 

    ReDim arrIcons(2) 
    arrIcons(0) = "images/selected-process.gif" 
    arrIcons(1) = "images/unselected-process.gif" 
    arrIcons(2) = "images/additional-process.gif" 

    ReDim arrColours(2) 
    arrColours(0) = "#0080C0; font-weight:bold" 
    arrColours(1) = "#999999" 
    arrColours(2) = "#999999" 

End Sub 

Public Sub Show() 

    Dim strItem, intCrumbs 
    %> 
    <table style="margin-bottom:10px" class="formbreadcrumbs" cellspacing="0" cellpadding="0" border="0" summary="Bread Crumb Trail"> 
     <tr> 
      <td align="right"><img src="images/left-process30.gif" width="30" height="20" alt=" " /></td> 
    <% 
    intCrumbs = 0 
    For Each strItem In dicCrumbs 
     intCrumbs = intCrumbs + 1 
     Response.Write "  <td><img src=""" & arrIcons(dicCrumbs(strItem)) & """ width=""25"" height=""20"" alt="" "" /></td>" 
     If intCrumbs < dicCrumbs.Count Then 
     %> 
       <td><img src="images/background-process.gif" width="40" height="20" alt=" " /></td> 
       <td><img src="images/background-process.gif" height="20" width="5" alt=" " /></td> 
       <td><img src="images/background-process.gif" width="40" height="20" alt=" " /></td> 
     <% 
     End if 
    Next 
    %> 
      <td align="left"><img src="images/right-process30.gif" width="30" height="20" alt=" " /></td> 
     </tr> 
     <tr> 
    <% 
    intCrumbs = 0 
    For Each strItem In dicCrumbs 
     intCrumbs = intCrumbs + 1 
     Response.Write "  <td colspan=""3"" align=""center"" style=""color:" & arrColours(dicCrumbs(strItem)) & "; line-height:0.9em; font-size:x-small"">" & strItem & "</td>" 
     If intCrumbs < dicCrumbs.Count Then 
     %> 
       <td></td> 
     <% 
     End if 
    Next 
    %> 
     </tr> 
    </table> 
End Sub 

End Class

Vielen Dank für Ihre Anregungen/Zeiger erzeugt.

Antwort

2

Wenn Sie eine echte Brotkrümel möchten, können Sie einen Blick auf die folgende Frage (How can dynamic breadcrumbs be achieved with ASP.net MVC?)

Other than that, können Sie ziemlich viel Einsatz Logik und Teilansichten, dies zu erreichen und bei einem ein bestimmtes Bild angezeigt werden bestimmter Punkt im Workflow aus einer Teilansicht.

Sie auch einen Blick auf einige clevere jQuery http://plugins.jquery.com/project/jBreadCrumb

+0

Hallo Pieter, ich hätte vielleicht in der ursprünglichen Frage erwähnen sollen, dass ich nicht möchte, dass dies standortweit ist, ich suchte nach einer Breadcrumb-Lösung für eine Sammlung von Formularen - also zum Beispiel könnte ich ein Set haben Formulare für Beschwerden oder einen Satz für Vorschläge usw. Also muss ich in der Lage sein, die Formulardetails in etwas wie einen Helfer oder eine Funktion zu übergeben, die dann ein ähnliches Ergebnis wie das obige Bild ausgeben. Außerdem möchte ich vermeiden, auf JavaScript zu vertrauen. – beebul

1

Wir etwas entlang der Linien von einer Masterseite, die die Brotkrumen beherbergt implementiert haben könnte, dann jede Seite MVC, wo nötig, ruft einige Javascript auf dem Dokument laden um den Breadcrumb zu setzen.

Wir haben jquery so auf jeder Seite wir

<script type="javascript"> 
$(document).ready(function(){ 
    setBreadCrumb(1); 
}); 
</script> 

oder ähnliches haben könnten.

+0

Hallo Antony, danke für deine Antwort, leider kann ich mich aus Gründen der Barrierefreiheit nicht auf JavaScript verlassen. – beebul

Verwandte Themen