0

我的问题示例再简单不过了。1-打开VS2013,新建一个ASP.NET 4.5 WebForms项目。2-将 SiteMapPath 组件添加到母版页。3-将 std web.sitemap 添加到项目中。

现在,创建父页面、子页面的任何层次结构,并查看面包屑如何从这些页面中消失。它最多显示在根节点(default.aspx 页面)上,仅此而已。

这令人沮丧,因为我有使用 SiteMapPath 的旧项目(在 VS2013 中编译)并且面包屑运行良好。也许这个新的 Bootstrap 或 V2013 ASP.NET 模板正在做某事导致失败。

如果协助回答,请使用上面的这个确切示例,并且由于我之前已经成功完成此操作,请不要讨论我在其他帖子中看到的“相对路径”和“有效 URL”——我知道这一点,涵盖了基础知识和站点地图是有效的,因为 ASP 菜单在其层次结构中 100% 显示页面。

谢谢迈克

4

1 回答 1

0

我似乎是唯一一个仍然在较新的 .NET/VS 项目中使用面包屑的人。

答案是从正常添加的站点地图文件中删除 .aspx 扩展名。即,新的 VS ASP.NET 项目/NuGet 包中的较新路由模型将其从 URL 中剥离,SiteMapPath 将无法使用站点地图 URL 解析 URL。您可以与之抗争并更改我理解的路由定义或接受最好的做法是不显示您的扩展程序并处理站点地图。

我选择使用无扩展名 URL,如果您有像我这样的大型站点地图文件,只需搜索并替换 .aspx 即可。

于 2014-03-13T21:04:16.953 回答