5

我正在尝试创建一个包含用户查看的页面的面包屑,例如:

首页 -> 产品 -> 智能手机 -> .....

有谁知道如何在带有剃刀视图引擎的 asp.net mvc 3 中做到这一点?或者我在哪里可以找到一个好的教程?

4

2 回答 2

4

有一个名为MvcSiteMapProvider的开源项目,我一直在为它做出贡献,这使这变得相当容易。该项目在 NuGet 上可用。

基本上,您使用所有页面配置站点地图。站点地图可以通过 XML、代码或其他数据源进行配置。然后站点地图被缓存并在用户之间共享。当用户导航到站点地图中配置的 URL(作为 URL 或作为路由值的字典)时,它将使用地图中的相对位置来确定如何将面包屑构建回您的主页。

这里有安装和使用其功能的演练:MvcSiteMapProvider 4.0 - A Test Drive

于 2013-08-23T17:45:43.193 回答
2

你见过开源解决方案MvcBreadCrumbs吗?使用这个 Nuget 包有几种方法可以完成它。您可以在控制器方法上使用属性,如下所示:

[BreadCrumb(Label="Widget")]
public ActionResult ...

或者如果标签依赖于数据,则可以选择添加静态方法调用以覆盖标签:

[BreadCrumb(Label="Widget")]
public ActionResult Get(int id)
{
    [make db call]
    BreadCrumb.SetLabel(db.ItemDescription);
    return view(dbModel);
}
于 2015-10-16T12:36:25.020 回答