我已经在我的MVC 3应用程序上安装了MVCSitemapProvider for breadcrumbs trail。它在Mvc.sitemap.xml
中自动生成以下节点<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0 MvcSiteMapSchema.xsd"
enableLocalization="true">
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="About" controller="Home" action="About"/>
</mvcSiteMapNode>
</mvcSiteMap>
以下是用于显示面包屑的HTML帮助程序
@Html.MvcSiteMap().SiteMapPath()
在我的应用程序中,有很多控制器及其动作是忙于在mvcSiteMap中添加所有mvcSiteMapNode的那些动作和问题是,是否有可能在Mvc.sitemap.xml的mvcSiteMapNode中列出所有控制器及其各自的动作没有全部手动写入。
答案 0 :(得分:1)
我认为最接近的方法是使用方法的属性,请参阅https://github.com/maartenba/MvcSiteMapProvider/wiki/Defining-sitemap-nodes-in-code。例如:
// GET: /Checkout/Complete
[MvcSiteMapNodeAttribute(Title = "Checkout complete", ParentKey = "Checkout")]
public ActionResult Complete(int id)
{
// ...
}