Asp. net Mvc и Boostrap 4 Pagination - Показать активную текущую страницу - PullRequest
1 голос
/ 18 марта 2020

Код выполняет нумерацию страниц правильно, однако я не могу использовать класс boostrap, который показывает активную страницу

<div class="page-nation">
        <ul class="pagination pagination-large">
            <li>
                @{
                    if (ViewBag.PageNumber> 1)
                    {

                        <a class="page-link" href="@Url.Action("Index", "Boats", new { search= ViewBag.searchData, pageNumber= ViewBag.PageNumber- 1 })">«</a>
                    }
                    else
                    {
                        <a class="page-link disabled">«</a>

                    }
                }
            </li>
            @{
                var currentPage= ViewBag.PageNumber;
                for (var i = 1; i <= ViewBag.totalCount; i++)
                {
                    <li @(currentPage== i ? "class= page-item active" : "")>
                        <a class="page-link" href="@Url.Action("Index", "Boats", new {search= ViewBag.searchData, pageNumber= i})">@i</a>
                    </li>
                }
            }

            <li>

                @if (ViewBag.PageNumber< ViewBag.totalCount)
                {
                    <a class="page-link" href="@Url.Action("Index", "Boats", new { search= ViewBag.searchData, pageNumber= ViewBag.PageNumber+ 1 })">»</a>
                }
                else
                {
                    <a class="page-link disabled">»</a>
                }

            </li>

        </ul>

    </div>

Часть, которая должна показывать активный элемент, это, но по какой-то причине этот класс не работает

<li @(currentPage== i ? "class= page-item active" : "")>

HTML output:

Как видно из HTML, класс вызывается, но он ничего не передает ему. ..

<div class="page-nation">
    <ul class="pagination pagination-large">
        <li>
           <a class="page-link" href="/Barcos?numeroPagina=1">«</a>
        </li>
           <li>
               <a class="page-link" href="/Boats?pageNumber=1">1</a>
           </li>
           <li class="page-item" active="">
               <a class="page-link" href="/Boats?pageNumber=2">2</a>
           </li>
        <li>
               <a class="page-link disabled">»</a>
        </li>
    </ul>
</div>

1 Ответ

0 голосов
/ 18 марта 2020

Вы не добавляете кавычки к значению свойства class, добавление кавычек заставит HTML правильно отобразить:

<li @Html.Raw(currentPage== i ? "class=\"page-item active\"" : "")>

...