Как скрыть номер страницы в URL используя PagedList в asp. net mvc? - PullRequest
0 голосов
/ 08 марта 2020

Я хочу, например, удалить или скрыть номер страницы из URL http://localhost: 51987 / Дизайн / Боковая панель PageNo = 2 это может быть похоже на следующее? http://localhost: 51987 / Дизайн / Боковая панель

Вот код действия в контроллере

public ActionResult Sidebar(int pageNo = 1)
        {
            ViewBag.LessonList = db.Lessons.ToList();
            ViewBag.LessonsCount = db.Lessons.Count();
            var myModel = from s in db.Lessons select s;
            myModel = myModel.OrderBy(x => x.LessonId);
            return View(myModel.ToPagedList(pageNo, 1));
        }

Вот код вида

@model IEnumerable<WebApplication10.Models.Lesson>
@using PagedList
@using PagedList.Mvc
@{var x = ((IPagedList)Model); }
@{
    ViewBag.Title = "Sidebar";
}
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/myStyle.css" rel="stylesheet" />
<link href="~/Content/PagedList.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>

<!------ Include the above in your HEAD tag ---------->

<div class="row">
    <div class="col-md-3">
        <div class="profile-sidebar">
            <!-- SIDEBAR MENU -->
            <div class="side-menu">
                <ul class="nav">
                    @foreach (var item in ViewBag.LessonList)
                    {
                        <li>
                            <a href="#">
                                @item.LessonName
                            </a>
                        </li>
                    }
                </ul>
            </div>
            <!-- END MENU -->
        </div>
    </div>
    <!---->
    <div class="col-md-9">
        @foreach (var item in Model)
        {
            <div class="lesson-content">
                <hr />
                <ul class="pager">
                    <li class="previous"><a href="@Url.Action(("Sidebar"), new { PageNo = x.PageNumber - 1 })">Previous</a></li>
                    <li class="next"><a href="@Url.Action(("Sidebar"), new { PageNo = x.PageNumber + 1 })">Next</a></li>
                </ul>
                <hr />
                <h2 style="text-align:center">@item.LessonName</h2>
                <hr />
                @item.LessonContent
                <hr />
                <ul class="pager">
                    <li class="previous"><a href="@Url.Action(("Sidebar"), new { PageNo = x.PageNumber - 1 })">Previous</a></li>
                    <li class="next"><a href="@Url.Action(("Sidebar"), new { PageNo = x.PageNumber + 1 })">Next</a></li>
                </ul>
                <hr />
            </div>
        }
    </div>
    <!---->
</div>
<script>
    $(function () {
        if (@x.PageNumber <= 1)
        {
            $(".previous").hide();
            $(".next").show();
        }
        else if (@x.PageNumber >= (@x.PageCount))
        {
            $(".next").hide();
            $(".previous").show();
        }
    });
</script>

Извините за имя avtion и контроллера, потому что я работаю как демонстрационный проект

...