在.NET MVC 2中创建图形化面包屑或流程跟踪

bee*_*bul 5 c# breadcrumbs asp.net-mvc-2

面包屑踪迹

我有一个类似于上图的面包屑结构.它显示表单的进度跟踪,表单名称和当前页面显示,还为用户提供了流程开始和结束的指南.

这最初是在经典ASP中组合而成的.在MVC 2中重建这个的最佳方法是什么 - C#

回答下面的答案之一:我不希望这是在整个网站范围内,我正在为一组表单寻找一个面包屑解决方案 - 例如,我可能有一组投诉或一组表格因此我需要能够将表​​单细节传递给类似帮助器或函数的东西,然后输出与上图相似的结果.

这是生成踪迹的原始经典ASP代码.

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
Run Code Online (Sandbox Code Playgroud)

结束班

非常感谢任何建议/指针.

Pie*_*uys 2

如果你想要一个真正的面包屑,你可以看看下面的问题(如何使用 ASP.net MVC 实现动态面包屑?

除此之外,您几乎可以使用逻辑和部分视图来完成此操作,并从部分视图在工作流程中的特定点显示特定图像。

你也可以看看一些聪明的 jQuery http://plugins.jquery.com/project/jBreadCrumb