数据肘节="标签"和锚标记助手

时间:2017-06-12 13:59:07

标签: asp.net-mvc asp.net-core

我无法让锚标记帮助器与data-toggle =标签结合使用。

我设法在正确的选项卡上设置活动类,但我的控制器上的代码永远不会运行。我错过了什么?

<div class="navbar">
    <div>
        <ul class="nav nav-tabs">
            <li class="active"><a asp-controller="Customer" asp-action="Device" asp-fragment="PlantInfo" data-toggle="tab" >Enhetsinformation</a></li>
            <li><a asp-controller="Customer" asp-action="Start" data-toggle="tab" >Larm</a></li>
            <li><a asp-controller="Customer" asp-action="Start" data-toggle="tab" >Historik</a></li>
            <li><a asp-controller="Customer" asp-action="MeterReading" asp-fragment="MeterReading" data-toggle="tab" >Avläsningar</a></li>
            <li><a asp-controller="Customer" asp-action="Start" data-toggle="tab" >Ärenden</a></li>
        </ul>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

Tabs实际上不应该真正击中你的控制器。重点是您要在页面上的内容之间切换。 Bootstrap选项卡javascript将阻止链接的默认操作,使其实际上不会将您带到新页面,而只是加载参考内容区域。这也是为什么标签链接的实际href应该是目标的原因,指向页面上各个内容区域的ID:

<a href="#content1" data-toggle="tab">Content 1</a>
...
<div id="content1">
    Tab content
</div>

如果我不得不在这里猜到你的困惑,我想你会想到通过链接到一个实际的控制器动作,该内容应该从服务器获取并在你点击时在页面上呈现那个标签。这是不正确的,而不是Bootstrap标签的工作方式。如果你希望它以这种方式运行,你需要自己的JavaScript来定义标签切换行为(Bootstrap的代码将不再适用于此),作为其中的一部分,你需要它发出AJAX请求以获取该内容。这一切都在你身上。它不会自动发生。