如何使用 ActionLink 重定向到 ASP .NET MVC 中的特定视图选项卡区域

How to redirect using ActionLink to specific View tab region in ASP .NET MVC

我需要制作一个重定向到上一页的 ActionLink,但上一页分为 5 个选项卡。所以对于 URL 说

host/Admin/AdminMain

有标签,当我将鼠标悬停在标签上时,link 似乎是

host/Admin/AdminMain#tabs-1
host/Admin/AdminMain#tabs-2

等等。

在 tabs-2 中,我有一个 link 到另一个视图,比如 host/Admin/SomeController,我需要在视图中创建 ActionLink,将我重定向回 tabs-2,而不是tabs-1 就像它一样。 ActionLink 现在看起来像这样:

@Html.ActionLink("Back to Main", "Index", "AdminMain")

如何指定将我重定向到#tabs-2?

#tabs-2 部分称为 URL 的 "fragment"。它实际上不是资源 URI 的一部分,仅用于客户端 "jump" 用户访问具有该 ID 的文档部分。

但是,像标签这样的东西需要 JavaScript 才能运行,浏览器无法根据片段自动切换到标签,因为它不知道如何要做到这一点。您需要编写一些 JavaScript 阅读片段,然后尝试激活适当的选项卡,使用您为此使用的任何库。

(function () {
    var fragment = location.hash;
    if (fragment !== '') {
        // activate tab with that id
    }
})();