4

私はMike Brindのガイドを使ってページネーションを設定しました。また、ブートストラップを使用して、ページの下部に見栄えの良いページ ナビゲーションを作成しました。NEXT ボタンと PREV ボタンが機能するために必要なことを教えてください。i+1 や i-1 のようなものだと思いますが、まだわかりません。ここに私のコードがあります:

編集されたコード:

//Paging

var pageSize = 6; 
var totalPages = 0; 
var count = 0;
var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1;
var offset = (page -1) * pageSize;

var db = Database.Open("StayInFlorida");
var sql = "Select Count(*) From PropertyInfo ";
count = (int)db.QueryValue(sql);
totalPages = count/pageSize;        
if(count % pageSize > 0){
    totalPages += 1;
}
sql = "SELECT PropertyName, PropertyID, ResortName, NumBedrooms, NumBathrooms, NumSleeps, BriefDescription, PrimaryImage FROM PropertyInfo "+
           "Order By PropertyID OFFSET @0 ROWS FETCH NEXT @1 ROWS  ONLY;";

var result = db.Query(sql, offset, pageSize);

<!--Pagination Start-->
<div class="pagination pagination-centered">
<ul>  
@{   
    if(page > 1){     
    <li><a href="/portfolio1/@(page-1)">Prev</a></li>
    }
    for (var i = 1; i < totalPages + 1; i++){
    <li><a href="/portfolio1/@i">@i</a></li>
    }
    if(page > 1){
    <li><a href="/portfolio1/@(page + 1)">Next</a></li>
    }
}
</ul>
</div>
<br>
<!--Pagination Finish-->
4

1 に答える 1

3

おそらく、移動する次または前のページがある場合にのみ、[次へ] または [前へ] ボタンを表示したいですか? その場合、page という変数で現在のページ番号を追跡していると仮定すると、次のように実行できます。

<!--Pagination Start-->
<div class="pagination pagination-large">
<ul>
   @if(page > 1){
       <li><a href="/portfolio1/@(page-1)">Prev</a></li>
   }
   for (var i = 1; i < totalPages + 1; i++){
       <li><a href="/portfolio1/@i">@i</a></li>
   }
   if(page < totalPages){
       <li><a href="/portfolio1/@(page + 1)">Next</a></li>
   }
</ul>
</div>
<br>
<!--Pagination Finish-->
于 2013-03-29T13:09:28.487 に答える