در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

iran58

مشکل در Pagging برای نمایش تعداد مقالات

 سلام

یک صفحه دارم که مقلات درسی را نمایش میدهم(درهرصحفه تعداد5 مقاله) چون تعداد مقلات بالای 300عدد هست فعلا
وقتی Pagging را نمایش میدهم از شماره یک تا30 میرود
<nav class="col-12 paggin-index" aria-label="Page navigation example">
  <ul class="pagination justify-content-center">
   <li class="page-item ">
    <a class="page-link" href="#" tabindex="-1">اولین</a>
   </li>
   <li class="page-item"><a class="page-link" href="#">1</a></li>
   <li class="page-item"><a class="page-link" href="#">2</a></li>
   <li class="page-item"><a class="page-link" href="#">3</a></li>
   <li class="page-item"><a class="page-link" href="#">4</a></li>
   <li class="page-item"><a class="page-link" href="#">5</a></li>
   <li class="page-item"><a class="page-link" href="#">6</a></li>
   <li class="page-item">
    <a class="page-link" href="#">آخرین</a>
   </li>
  </ul>
 </nav>

اما من می خواهم مثلا تاصفحه 10 را نمایش بدهد بعد ....باشد و صفحات 29و30 را نمایش بدهد(10تا اول را نمایش بدهد و ...و دوتاصفحه اخر)
چگونه باید این Pagging را طراحی کنم

لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
حسین احمدی

از ASP.NET MVC استفاده می کنید؟

کانال تلگرام: https://t.me/TOSINSOAhmadi
iran58

سلام

بله ازASP.NET MVC

فقط یک سوال دیگر

چطوری کدها را هنگام پرسیدن سوال قرار دهیم(من جای برای قرار دادن کدی نمیبینم)

حسین احمدی

در مورد قرار دادن کد، از منویی که نوشته پاراگراف، قسمت بلوک ها، پیش رو انتخاب کنید، اسمش باید اصلاح بشه، اسم مناسبی نداره الان.

در مورد کد، کاری که می تونید انجام بدید، یه کلاس برای مدل Pagination تعریف کنید:

public class PagingModel
{
public int TotalPages { get; set; }
public int CurrentPage { get; set; }
}

حالا بوسیله کد زیر می تونید صفحه رو مشابه چیزی که میخوایید رندر کنید:

@model Website.Models.PagingModel

@{
 var startToRender = Model.CurrentPage  < 6 ? 1 : Model.CurrentPage - 3;
 var lastToRender = Model.CurrentPage > Model.TotalPages - 5 ? Model.TotalPages : Model.CurrentPage + 3;
}

@if (Model.TotalPages > 1)
{
    <nav class="col-12 paggin-index" aria-label="Page navigation example">
        <ul class="pagination justify-content-center">
            @if (startToRender > 1)
            {
                <li>
                    <a href="#">Previous</a>
                </li>
                <li><a href="#">1</a></li>
                <li>
     <a>...</a>
    </li>
            }
            @for (int pageToRender = startToRender; pageToRender <= lastToRender; pageToRender++)
            {
                <li><a href="#">pageToRender</a></li>
            }
            @if (lastToRender < Model.TotalPages)
            {
                <li><a>...</a></li>
                <li><a href="#">Model.TotalPages</a></li>
                <li>
                    <a href="#" aria-label="Next">Next</a>
                </li>
            }
        </ul>
    </nav>
}

البته من کد رو نتونستم تست بگیرم، اما خروجی کد بالا برای 30 صفحه و صفحه 17 به صورت زیر میشه:

Previous 1 ... 14 15 16 17 18 19 20 ... 30 Next

 

کانال تلگرام: https://t.me/TOSINSOAhmadi
پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....