我正在使用 MVC SiteMap Provider 在 .Net MVC3 中开发一个项目来创建菜单。
某些菜单节点只有在设置了特定的路由参数(meetingId)时才可见,请参见下面的示例:
<mvcSiteMapNode controller="MeetingAttendants" action="Index" title="Attendants" preservedRouteParameters="meetingId" />
meetingId 参数是一个不可为空的 int,没有默认值。该参数在浏览会议信息时设置。
加载未设置参数的页面时,会抛出错误:
无法解析站点地图节点服务员的 URL,它表示控制器会议服务员中的操作索引。确保可以解析此站点地图节点的路由,并且其默认值允许解析当前站点地图节点的 URL。
我尝试在映射路线时设置默认值,这使问题消失了。但是有没有办法在不设置默认值的情况下解决这个问题(因为应该没有默认值)?