2013-03-28 139 views
4

我已经使用迈克布林德的指南设置分页,这是一种享受。我还使用引导程序在页面底部创建更好看的页面导航。你可以让我知道我需要做什么,以便NEXT和PREV按钮有效吗?我想这是像i + 1和i-1,但我还没弄明白。这里是我的代码:分页 - Webmatrix /剃须刀

编辑的代码:

//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--> 

回答

3

想必你只想要一个一个或下一个按钮,显示如果有一个或下一个页面去?如果是这样,假设您正在跟踪当前页码的一个变量称为页面,这是你如何能做到这一点:

<!--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--> 
+0

好了,所以我用数目字,并稍微出错,但我做到了一些修改,并得到了它使用此代码... – Gavin5511

+0

半工作<! - 分页开始 - >


<! - 分页完成 - > – Gavin5511

+0

实际上,我只会编辑代码在页面的顶部。问题是,在第一页上,它没有显示前一个或下一个链接。如果我点击第2页,prev和next按钮在那里,工作正常。另一个问题是,当我在第3页上的第3页时,下一个按钮仍然存在,并且我可以移动到第4页和第5页等,即使没有记录存在? – Gavin5511