2010-09-03 12 views
5

Breadcrumb trailनेट MVC 2

में एक ग्राफिकल ब्रेडक्रम्ब या प्रक्रिया निशान बनाना मैं एक ब्रेडक्रम्ब संरचना ऊपर छवि के लिए इसी तरह की है। यह रूपों के प्रपत्र का निशान, फॉर्म नाम और वर्तमान पृष्ठ प्रदर्शित होता है और यह उपयोगकर्ता को प्रक्रिया की शुरुआत और अंत के लिए एक गाइड भी प्रदान करता है।

यह मूल रूप से क्लासिक एएसपी में एक साथ रखा गया था। एमवीसी 2 - सी #

नीचे दिए गए उत्तरों में से एक के जवाब में: मैं यह नहीं चाहता कि यह साइट-व्यापी हो, मैं संग्रह के लिए एक ब्रेडक्रंब समाधान की तलाश में था रूपों - उदाहरण के लिए मेरे पास शिकायत के लिए फॉर्मों का एक सेट हो सकता है या सुझावों के लिए एक सेट हो सकता है। इसलिए मुझे फॉर्म विवरण को एक सहायक या फ़ंक्शन जैसे कुछ में पास करने में सक्षम होना चाहिए जो तब समान परिणाम आउटपुट करेगा उपरोक्त छवि।

यह मूल क्लासिक एएसपी कोड है कि निशान उत्पन्न करता है ..

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 

समाप्ति कक्षा

किसी भी सुझाव/संकेत के लिए बहुत धन्यवाद।

उत्तर

2

आप एक सच्चे ब्रेडक्रम्ब चाहते हैं, तो आपको निम्न प्रश्न (How can dynamic breadcrumbs be achieved with ASP.net MVC?)

उसके अलावा पर एक नजर है सकते हैं, आप काफी उपयोग तर्क और आंशिक दृश्य यह पूरा है और एक पर एक विशेष छवि प्रदर्शित करने सकता है आंशिक दृश्य से वर्कफ़्लो में विशेष बिंदु।

तुम भी कुछ चालाक jQuery http://plugins.jquery.com/project/jBreadCrumb

+0

नमस्ते पीटर, मुझे शायद मूल प्रश्न में उल्लेख किया जाना चाहिए कि मैं यह साइट-व्यापी नहीं होना चाहता, मैं रूपों के संग्रह के लिए एक ब्रेडक्रंब समाधान की तलाश में था - उदाहरण के लिए मेरे पास एक सेट हो सकता है शिकायतों के लिए फॉर्म या सुझावों के लिए एक सेट, आदि इसलिए मुझे फॉर्म विवरण को एक सहायक या फ़ंक्शन जैसे कुछ में पास करने में सक्षम होना चाहिए जो उपरोक्त छवि के समान परिणाम उत्पन्न करेगा। इसके अलावा मैं जावास्क्रिप्ट पर भरोसा करना टालना चाहता हूं। – beebul

1

हम एक मास्टर पृष्ठ ब्रेडक्रंब, तो प्रत्येक MVC पेज, जहां आवश्यक घरों की तर्ज पर कुछ कार्यान्वित पर एक नज़र हो सकता था, दस्तावेज़ लोड पर कुछ जावास्क्रिप्ट कॉल ब्रेडक्रंब सेट करने के लिए।

हम jQuery का इस्तेमाल किया ताकि प्रत्येक पृष्ठ पर हम

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

या समान हो सकता है।

+0

हाय एंटनी आपके उत्तर के लिए धन्यवाद, दुर्भाग्य से मैं एक्सेसिबिलिटी कारणों के लिए जावास्क्रिप्ट पर भरोसा करने में असमर्थ हूं। – beebul

संबंधित मुद्दे