我正在尝试创建一个包含用户查看的页面的面包屑,例如:
首页 -> 产品 -> 智能手机 -> .....
有谁知道如何在带有剃刀视图引擎的 asp.net mvc 3 中做到这一点?或者我在哪里可以找到一个好的教程?
我正在尝试创建一个包含用户查看的页面的面包屑,例如:
首页 -> 产品 -> 智能手机 -> .....
有谁知道如何在带有剃刀视图引擎的 asp.net mvc 3 中做到这一点?或者我在哪里可以找到一个好的教程?
有一个名为MvcSiteMapProvider的开源项目,我一直在为它做出贡献,这使这变得相当容易。该项目在 NuGet 上可用。
基本上,您使用所有页面配置站点地图。站点地图可以通过 XML、代码或其他数据源进行配置。然后站点地图被缓存并在用户之间共享。当用户导航到站点地图中配置的 URL(作为 URL 或作为路由值的字典)时,它将使用地图中的相对位置来确定如何将面包屑构建回您的主页。
这里有安装和使用其功能的演练:MvcSiteMapProvider 4.0 - A Test Drive
你见过开源解决方案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);
}