MvcSiteMapProvider属性不起作用
问题描述:
我尝试使用MvcSiteMapProvider作为面包屑。MvcSiteMapProvider属性不起作用
我有以下的网站地图文件:
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"
xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">
<mvcSiteMapNode title="Home" controller="Home" action="Index" key="Index">
<mvcSiteMapNode title="About" controller="Home" action="About"/>
<mvcSiteMapNode title="Company List" controller="Company" action="Index" key="Company">
<mvcSiteMapNode title="Create company" controller="Company" action="Create" />
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMap>
并显示:
@Html.MvcSiteMap().SiteMapPath()
它工作正常网页 “创建公司”, “公司名单” 等
然后我想添加它用于参数的动作:
[MvcSiteMapNode(Title = "Company Details", ParentKey = "Company", Key = "CompanyDetails")]
public ActionResult Details(int? id)
{
...
CompanyDetailVM model = mapper.Map<CompanyDetailVM>(company);
return View(model);
}
但它不起作用,根本不显示面包屑。哪里出错?
答
尝试id
路由参数添加到站点地图结点:
[MvcSiteMapNode(Title = "Company Details", ParentKey = "Company", Key = "CompanyDetails", PreservedRouteParameters = "id")]
public ActionResult Details(int? id)
{
...
}