0

我已经在我的 MVC 3 应用程序上安装了 MVCitemapProvider 以获取面包屑路径。它在 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 Helper

  @Html.MvcSiteMap().SiteMapPath()

在我的应用程序中,有很多控制器及其操作很忙,要在这些操作的 mvcSiteMap 中添加所有 mvcSiteMapNode,问题是是否可以在 Mvc.sitemap.xml 的 mvcSiteMapNode 中列出所有控制器及其各自的操作而不写所有手动。

4

1 回答 1

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) 
{ 
  // ... 
}
于 2012-07-28T23:43:59.913 回答