2016-11-16 2 views
0

Вопрос: На панели вкладок Bootstrap, как мы можем отобразить страницу просмотра MVC в соответствующей области вкладки?Вкладки ASP.NET MVC Bootstrab нажмите кнопку Controller Action issue

Подробнее: Следующий пример (взятый из here) отлично работает в моем проекте ASP.NET MVC Core. Но, используя anchor tag helper Я хочу вызвать метод действия, когда пользователь нажимает на вкладку; когда я делаю это, я получаю следующую ошибку. Например, я получаю эту ошибку, когда на вкладке Menu 1 я использую атрибуты asp-controller и asp-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> 

ответ

0

Что вам нужно сделать, это вызвать @Html.RenderAction() внутри требуемого содержания вкладки , Оставьте href так, как они есть, есть только показать соответствующую вкладку на основе идентификатора табуляции.

См. Следующий вопрос: Create controller for partial view in ASP.NET MVC

Смежные вопросы