Documentation 如何在Sandcastle文档网站中创建类似MSDN的链接?

Documentation 如何在Sandcastle文档网站中创建类似MSDN的链接?,documentation,web,hyperlink,sandcastle,permalinks,Documentation,Web,Hyperlink,Sandcastle,Permalinks,我已经用Sandcastle生成了我的项目的网站文档。此网站使用框架,所以当我点击网站时,浏览器中的URL不会改变 当我浏览用Sandcastle生成的网站文档时,我想在浏览器中更改URL。为什么?因为我想从我的开发人员环境的其他部分链接到文档的具体子页面 更进一步,我想有这个链接永久。所以,当我再次从我的项目的新版本生成文档时,链接不会更改,所以我不需要将所有链接更改为新的 这是否可能以及如何实现这一点?为了创建指向文档特定子页面的正确链接,您可以使用类似的请求:$documentation\

我已经用Sandcastle生成了我的项目的网站文档。此网站使用框架,所以当我点击网站时,浏览器中的URL不会改变

当我浏览用Sandcastle生成的网站文档时,我想在浏览器中更改URL。为什么?因为我想从我的开发人员环境的其他部分链接到文档的具体子页面

更进一步,我想有这个链接永久。所以,当我再次从我的项目的新版本生成文档时,链接不会更改,所以我不需要将所有链接更改为新的


这是否可能以及如何实现这一点?

为了创建指向文档特定子页面的正确链接,您可以使用类似的请求:$documentation\u ROOT$/Index.aspx?topic=html/$topic\u ID$.htm

例如。
如果您将下面的代码添加到
SplitScreen.js
的顶部,浏览器将“注入”TOC框架,并关注您直接链接到的内容(使用Vitaly Shibaev展示的技巧)

此代码有效。文档位于网站的根目录下-如果您将其放在子文件夹中,则需要展开“/?主题”,并从路径名部分删除子文件夹部分

通过此更改,您可以使用“直接链接”。我还希望通过谷歌找到你的人能获得更好的体验(获取他们搜索的内容和TOC栏)。

并解决了你问题中的“如何链接到文档子页面”部分

由于默认情况下创建的html文件名基于主题名的散列,因此问题的“使链接永久化,以便在重新生成文档时不会更改”部分会自动解决。也就是说,如果您不更改正在记录的代码部分,那么它将使用相同的文件名

您可以更改生成html文件名的方式,但所有给定的方法都基于成员名或主题ID的哈希,因此如果代码没有更改,链接就不会中断

有关更多信息,请参阅Sandcastle帮助文件生成器文档

if (window==top) {
    window.location = "/?topic=" + (window.location.pathname.substring(1));
}