Asp.net mvc 3 MVC站点地图提供程序持久化参数
在过去的几个小时里,这让我发疯。我正在使用MVC站点地图提供程序添加面包屑功能 让我回顾一下我所做的步骤,以便尽可能清楚地说明这一点Asp.net mvc 3 MVC站点地图提供程序持久化参数,asp.net-mvc-3,c#-4.0,mvcsitemapprovider,Asp.net Mvc 3,C# 4.0,Mvcsitemapprovider,在过去的几个小时里,这让我发疯。我正在使用MVC站点地图提供程序添加面包屑功能 让我回顾一下我所做的步骤,以便尽可能清楚地说明这一点 从Nuget下载了资源 然后,我的网站地图中有以下内容 <?xml version="1.0" encoding="utf-8" ?> 我认为这一点 @Html.MvcSiteMap().SiteMapPath() 我的第一个问题是:如何用我的实际车辆名称替换动作展示厅的“车辆名称” 我的实际问题是:我的id没有持续到父级。例如,我
- 从Nuget下载了资源
- 然后,我的网站地图中有以下内容
<?xml version="1.0" encoding="utf-8" ?>
- 我认为这一点 @Html.MvcSiteMap().SiteMapPath()
- 我的第一个问题是:如何用我的实际车辆名称替换动作展示厅的“车辆名称”
- 我的实际问题是:我的id没有持续到父级。例如,我的url将是localhost:44357/Vehicles/Overview/Soul/1,父url将是localhost:44357/Vehicles/Showroom,而不是localhost:44357/Vehicles/Showroom/Soul/1。url中的vehiclename是可选的,因此url只能是localhost:44357/Vehicles/Showroom/1
感谢您的帮助。问题1:在父节点上设置车辆名称。例如:((mvcsitemasnode)SiteMap.CurrentNode.Parent).RouteValues.Add(“VehicleName”,“SomeVehicle”);。一个好的选择可能是使用动态节点提供程序来创建站点地图结构
对于问题2:[SiteMapPreserveRoutedData]应该执行问题1的技巧:在父节点上设置车辆名称。例如:((mvcsitemasnode)SiteMap.CurrentNode.Parent).RouteValues.Add(“VehicleName”,“SomeVehicle”);。一个好的选择可能是使用动态节点提供程序来创建站点地图结构 对于问题2:[SiteMapPreserveRouteData]应该可以做到这一点
<mvcSiteMapNode title="Vehicles" controller="Vehicles" area="Vehicles" action="Index">
<mvcSiteMapNode title="VehicleName" controller="Vehicles" area="Vehicles" action="Showroom" >
<mvcSiteMapNode title="Overview" area="Vehicles" controller="Vehicles" action="Overview" />
</mvcSiteMapNode>
</mvcSiteMapNode>