0

问题:在 Bootstrap Tabs 面板中,我们如何在相应的选项卡内容区域中显示 MVC 视图页面?

详细信息:以下示例(取自此处)在我的 ASP.NET MVC Core 项目中运行良好。但是,anchor tag helper当用户单击选项卡时,使用我想调用一个操作方法;当我这样做时,我收到以下错误。例如,我在标签中Menu 1使用asp-controllerasp-action属性时收到此错误,如下所示。我知道该错误与href与相应选项卡内容相关的属性有关。是否有解决方法,以便在单击选项卡时我们仍然可以调用操作方法?:

错误

Cannot override the 'href' attribute for <a>.

错误在这一行<li><a data-toggle="tab" href="#menu1" asp-controller="myController asp-action="myAction">Menu 1</a></li>

如果不使用锚标签助手,则以下工作

<div class="container">
  <h2>Dynamic Tabs</h2>
  <ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#home">Home</a></li>
    <li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
    <li><a data-toggle="tab" href="#menu2">Menu 2</a></li>
    <li><a data-toggle="tab" href="#menu3">Menu 3</a></li>
  </ul>

  <div class="tab-content">
    <div id="home" class="tab-pane fade in active">
      <h3>HOME</h3>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    </div>
    <div id="menu1" class="tab-pane fade">
      <h3>Menu 1</h3>
      <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
    </div>
    <div id="menu2" class="tab-pane fade">
      <h3>Menu 2</h3>
      <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
    </div>
    <div id="menu3" class="tab-pane fade">
      <h3>Menu 3</h3>
      <p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
    </div>
  </div>
</div>
4

1 回答 1

0

您需要做的是@Html.RenderAction()在所需的选项卡内容中调用。保留 href 原样,目的只是根据标签 ID 显示相应的标签。

请参阅以下问题: 在 ASP.NET MVC 中为局部视图创建控制器

于 2016-11-16T20:47:07.137 回答